diff --git a/client/tarantool/main.h b/client/tarantool/main.h index cd77b9d65773134ac214a6029fa5db3641c2f212..1195a2735b4a1cc41801ea0feb0d61a90b15e907 100644 --- a/client/tarantool/main.h +++ b/client/tarantool/main.h @@ -34,7 +34,7 @@ #define TC_DEFAULT_HOST "localhost" #define TC_DEFAULT_PORT 3301 -#define TC_DEFAULT_ADMIN_PORT 33015 +#define TC_DEFAULT_ADMIN_PORT 3313 #define TC_DEFAULT_HISTORY_FILE ".tarantool_history" struct tarantool_client { diff --git a/test/connector_c/CMakeLists.txt b/test/connector_c/CMakeLists.txt deleted file mode 100644 index e3446fba10956440a62b9edb0f645995c89f117e..0000000000000000000000000000000000000000 --- a/test/connector_c/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -file(GLOB all_sources *.c *.m *.mm) -set_source_files_compile_flags("TESTS" ${all_sources}) - -include_directories("${PROJECT_SOURCE_DIR}/test/unit") -include_directories("${PROJECT_SOURCE_DIR}/connector/c/include") - -tarantool_client("protocol" protocol.c) -tarantool_client("tt" tt.c) -tarantool_client("tp" tp.c) -tarantool_client("update" update.c) -tarantool_client("xlog" xlog.c) -tarantool_client("rpl" rpl.c) -tarantool_client("snap" snap.c) diff --git a/test/connector_c/cfg/master.cfg b/test/connector_c/cfg/master.cfg deleted file mode 100644 index 67229b17755c4d4c5ec44d0921df703bf1fab569..0000000000000000000000000000000000000000 --- a/test/connector_c/cfg/master.cfg +++ /dev/null @@ -1,9 +0,0 @@ - -slab_alloc_arena = 0.1 -pid_file = "box.pid" -logger="cat - >> tarantool.log" - -primary_port = 3301 -admin_port = 3313 - -rows_per_wal = 50 diff --git a/test/connector_c/cfg/tarantool.cfg b/test/connector_c/cfg/tarantool.cfg deleted file mode 100644 index 67229b17755c4d4c5ec44d0921df703bf1fab569..0000000000000000000000000000000000000000 --- a/test/connector_c/cfg/tarantool.cfg +++ /dev/null @@ -1,9 +0,0 @@ - -slab_alloc_arena = 0.1 -pid_file = "box.pid" -logger="cat - >> tarantool.log" - -primary_port = 3301 -admin_port = 3313 - -rows_per_wal = 50 diff --git a/test/connector_c/connector.result b/test/connector_c/connector.result deleted file mode 100644 index 193491abfef4b108f786bcba5810bb40a539f8a0..0000000000000000000000000000000000000000 --- a/test/connector_c/connector.result +++ /dev/null @@ -1,53 +0,0 @@ -box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum') ---- -- [0, 0, 'tweedledum'] -... -box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str') ---- -- [0, 0, 'primary', 1752392040, 1, 1, 0, 'str'] -... -> tuple1 [OK] -> tuple2 [OK] -> list [OK] -> stream buffer [OK] -> tuple set [OK] -> iterator tuple [OK] -> iterator tuple (single field) [OK] -> iterator tuple (tnt_field) [OK] -> iterator tuple (empty) [OK] -> iterator list [OK] -> marshaling ping [OK] -> marshaling insert [OK] -> marshaling delete [OK] -> marshaling call [OK] -> marshaling select [OK] -> marshaling update [OK] -> connect [OK] -> ping [OK] -> insert [OK] -> update [OK] -> select [OK] -> delete [OK] -> call [OK] -> call (no args) [OK] -> reply [OK] -> lex ws [OK] -> lex integer [OK] -> lex string [OK] -> lex punctuation [OK] -> lex ids [OK] -> lex keywords [OK] -> lex keys and tables [OK] -> lex stack [OK] -> lex bad string1 [OK] -> lex bad string2 [OK] -> sql ping [OK] -> sql insert [OK] -> sql update [OK] -> sql select [OK] -> sql select limit [OK] -> sql delete [OK] -> sql call [OK] -box.space[0]:drop() ---- -... diff --git a/test/connector_c/connector.snap b/test/connector_c/connector.snap deleted file mode 100644 index ffc209f51d042180e4cfd71166febcfb31959c0f..0000000000000000000000000000000000000000 Binary files a/test/connector_c/connector.snap and /dev/null differ diff --git a/test/connector_c/connector.test.py b/test/connector_c/connector.test.py deleted file mode 100644 index 000b486a9ef1b9c123eda2c723a66c419678097e..0000000000000000000000000000000000000000 --- a/test/connector_c/connector.test.py +++ /dev/null @@ -1,16 +0,0 @@ -import subprocess -import sys -import os - -admin("box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')") -admin("box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str')") - -p = subprocess.Popen([os.path.join(builddir, "test/connector_c/tt")], - stdout=subprocess.PIPE) -p.wait() -for line in p.stdout.readlines(): - sys.stdout.write(line) - -admin("box.space[0]:drop()") - -# vim: syntax=python diff --git a/test/connector_c/connector.xlog b/test/connector_c/connector.xlog deleted file mode 100644 index af5a837d453d449f57fd1627708fdf60d95196d9..0000000000000000000000000000000000000000 Binary files a/test/connector_c/connector.xlog and /dev/null differ diff --git a/test/connector_c/protocol.c b/test/connector_c/protocol.c deleted file mode 100644 index 8d4b348963fff9d54f1cb24ad1532bd332d36fc0..0000000000000000000000000000000000000000 --- a/test/connector_c/protocol.c +++ /dev/null @@ -1,151 +0,0 @@ - -#include <stdlib.h> -#include <stdio.h> -#include <inttypes.h> - -#include "tarantool/util.h" -#include "errcode.h" - -#include <tarantool/tnt.h> -#include <tarantool/tnt_net.h> -#include <tarantool/tnt_io.h> - -/** Client handler. Reused between tests. */ -struct tnt_stream *t; - -#define header() printf("\t*** %s ***\n", __func__) -#define footer() printf("\t*** %s: done ***\n ", __func__) - -/** Test the ping command. */ -void test_ping() -{ - header(); - const char message[]= { 0x00, 0xff, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0 - }; - tnt_io_send_raw(TNT_SNET_CAST(t), (char*)message, sizeof(message), 1); - t->wrcnt++; - struct tnt_iter i; - tnt_iter_reply(&i, t); - tnt_next(&i); - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - printf("return_code: %"PRIu32"\n", r->code); /* =0 */ - tnt_iter_free(&i); - footer(); -} - -/** Test the ping command. */ -void test_replace() -{ - header(); - const char message[]= { - 0xd, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, - 0x4, 0x1, 0x0, 0x0, 0x0 }; - tnt_io_send_raw(TNT_SNET_CAST(t), (char*)message, sizeof(message), 1); - t->wrcnt++; - struct tnt_iter i; - tnt_iter_reply(&i, t); - tnt_next(&i); - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - printf("return_code: %"PRIu32"\n", r->code); /* =0 */ - tnt_iter_free(&i); - footer(); -} - -/** A test case for Bug#702397 - * https://bugs.launchpad.net/tarantool/+bug/702397 "If SELECT - * request specifies tuple count 0, no error" - */ -void test_bug702397() -{ - header(); - const char message[]= { - 0x11, 0x0, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0 }; - tnt_io_send_raw(TNT_SNET_CAST(t), (char*)message, sizeof(message), 1); - t->wrcnt++; - struct tnt_iter i; - tnt_iter_reply(&i, t); - tnt_next(&i); - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - printf("return_code: %s, %s\n", - tnt_errcode_str(TNT_REPLY_ERR(r)), r->error); - tnt_iter_free(&i); - footer(); -} - -/** A test case for Bug#702399 - * https://bugs.launchpad.net/tarantool/+bug/702399 - * ERR_CODE_ILLEGAL_PARAMS is returned when there is no such key - */ -void test_bug702399() -{ - header(); - const char message[]= { - 0x11, 0x0, 0x0, 0x0, 0x1d, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xff, 0xff, 0xff, 0xff, - 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, - 0x4, 0x1, 0x0, 0x0, 0x0 }; - tnt_io_send_raw(TNT_SNET_CAST(t), (char*)message, sizeof(message), 1); - t->wrcnt++; - struct tnt_iter i; - tnt_iter_reply(&i, t); - tnt_next(&i); - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - printf("return_code: %s, %s\n", - tnt_errcode_str(TNT_REPLY_ERR(r)), r->error); - tnt_iter_free(&i); - footer(); -} - -/** A test case for Bug#1009992 - * https://bugs.launchpad.net/tarantool/+bug/1009992 - * ER_ILLEGAL_PARAMS is returned on bad operation id - */ -void test_bug1009992() -{ - header(); - struct tnt_header h = { - .type = 12345678, /* bad operation */ - .len = 0, - .reqid = 0 - }; - tnt_io_send_raw(TNT_SNET_CAST(t), (char*)&h, sizeof(h), 1); - t->wrcnt++; - struct tnt_iter i; - tnt_iter_reply(&i, t); - tnt_next(&i); - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - printf("return_code: %s, %s\n", - tnt_errcode_str(TNT_REPLY_ERR(r)), r->error); - tnt_iter_free(&i); - footer(); -} - -int main() -{ - t = tnt_net(NULL); - if (t == NULL) - return 1; - tnt_set(t, TNT_OPT_HOSTNAME, "localhost"); - tnt_set(t, TNT_OPT_PORT, 33013); - if (tnt_init(t) == -1) - return 1; - if (tnt_connect(t) == -1) - return 1; - - test_ping(); - test_replace(); - test_bug702397(); - test_bug702399(); - test_bug1009992(); - - tnt_stream_free(t); - return 0; -} diff --git a/test/connector_c/protocol.result b/test/connector_c/protocol.result deleted file mode 100644 index eb11e644b88da6156b0f917adcb2db42e72f6244..0000000000000000000000000000000000000000 --- a/test/connector_c/protocol.result +++ /dev/null @@ -1,26 +0,0 @@ -box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum') ---- -- [0, 0, 'tweedledum'] -... -box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str') ---- -- [0, 0, 'primary', 1752392040, 1, 1, 0, 'str'] -... - *** test_ping *** -return_code: 0 - *** test_ping: done *** - *** test_replace *** -return_code: 0 - *** test_replace: done *** - *** test_bug702397 *** -return_code: ER_ILLEGAL_PARAMS, Illegal parameters, tuple count must be positive - *** test_bug702397: done *** - *** test_bug702399 *** -return_code: ER_NO_SUCH_INDEX, No index #1 is defined in space 0 - *** test_bug702399: done *** - *** test_bug1009992 *** -return_code: ER_ILLEGAL_PARAMS, Illegal parameters, unsupported command code, check the error log - *** test_bug1009992: done *** - box.space[0]:drop() ---- -... diff --git a/test/connector_c/protocol.test.py b/test/connector_c/protocol.test.py deleted file mode 100644 index 8942e65d1329a6ef28b8308f11fbce2b2d66ccd1..0000000000000000000000000000000000000000 --- a/test/connector_c/protocol.test.py +++ /dev/null @@ -1,17 +0,0 @@ -# encoding: utf-8 -# -import subprocess -import sys -import os - -admin("box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')") -admin("box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str')") -p = subprocess.Popen([ os.path.join(builddir, "test/connector_c/protocol") ], - stdout=subprocess.PIPE) -p.wait() -for line in p.stdout.readlines(): - sys.stdout.write(line) - -admin("box.space[0]:drop()") - -# vim: syntax=python diff --git a/test/connector_c/rpl.c b/test/connector_c/rpl.c deleted file mode 100644 index d57112f317c27a00558935fcd93d17000dfae01c..0000000000000000000000000000000000000000 --- a/test/connector_c/rpl.c +++ /dev/null @@ -1,88 +0,0 @@ - -/* - * Copyright (C) 2011 Mail.RU - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <stdlib.h> -#include <stdint.h> -#include <inttypes.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> - -#include <connector/c/include/tarantool/tnt.h> -#include <connector/c/include/tarantool/tnt_net.h> -#include <connector/c/include/tarantool/tnt_xlog.h> -#include <connector/c/include/tarantool/tnt_rpl.h> - -static char *opname(uint32_t type) { - switch (type) { - case TNT_OP_PING: return "Ping"; - case TNT_OP_INSERT: return "Insert"; - case TNT_OP_DELETE: return "Delete"; - case TNT_OP_UPDATE: return "Update"; - case TNT_OP_SELECT: return "Select"; - case TNT_OP_CALL: return "Call"; - } - return "Unknown"; -} - -int -main(int argc, char * argv[]) -{ - if (argc != 4) { - printf("usage %s: host port limit\n", argv[0]); - return 1; - } - struct tnt_stream s; - tnt_rpl(&s); - struct tnt_stream sn; - tnt_net(&sn); - tnt_set(&sn, TNT_OPT_HOSTNAME, argv[1]); - tnt_set(&sn, TNT_OPT_PORT, atoi(argv[2])); - tnt_set(&sn, TNT_OPT_SEND_BUF, 0); - tnt_set(&sn, TNT_OPT_RECV_BUF, 0); - tnt_rpl_attach(&s, &sn); - if (tnt_rpl_open(&s, 2) == -1) - return 1; - - struct tnt_iter i; - tnt_iter_request(&i, &s); - - int limit = atoi(argv[3]); - while (limit-- > 0 && tnt_next(&i)) { - struct tnt_stream_rpl *sr = TNT_RPL_CAST(&s); - printf("%s lsn: %"PRIu64", time: %f, len: %d\n", - opname(sr->row.op), - sr->hdr.lsn, - sr->hdr.tm, sr->hdr.len); - } - if (i.status == TNT_ITER_FAIL) - printf("parsing failed\n"); - - tnt_iter_free(&i); - tnt_stream_free(&s); - tnt_stream_free(&sn); - return 0; -} diff --git a/test/connector_c/snap.c b/test/connector_c/snap.c deleted file mode 100644 index 7c434a6b8cc043dc7aefdf79c30e1cdb9af6739e..0000000000000000000000000000000000000000 --- a/test/connector_c/snap.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * 1. Redistributions of source code must retain the above - * copyright notice, this list of conditions and the - * following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * <COPYRIGHT HOLDER> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#include <stdlib.h> -#include <stdint.h> -#include <inttypes.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> -#include <ctype.h> - -#include <connector/c/include/tarantool/tnt.h> -#include <connector/c/include/tarantool/tnt_net.h> -#include <connector/c/include/tarantool/tnt_snapshot.h> - -static void print_tuple(struct tnt_tuple *tu) { - printf("["); - struct tnt_iter ifl; - tnt_iter(&ifl, tu); - while (tnt_next(&ifl)) { - if (TNT_IFIELD_IDX(&ifl) != 0) - printf(", "); - char *data = TNT_IFIELD_DATA(&ifl); - uint32_t size = TNT_IFIELD_SIZE(&ifl); - if (!isprint(data[0]) && (size == 4 || size == 8)) { - if (size == 4) { - uint32_t i = *((uint32_t*)data); - printf("%"PRIu32, i); - } else { - uint64_t i = *((uint64_t*)data); - printf("%"PRIu64, i); - } - } else { - printf("'%-.*s'", size, data); - } - } - if (ifl.status == TNT_ITER_FAIL) - printf("<parsing error>"); - tnt_iter_free(&ifl); - printf("]\n"); -} - -int -main(int argc, char * argv[]) -{ - if (argc != 2) - return 1; - - struct tnt_stream s; - tnt_snapshot(&s); - - if (tnt_snapshot_open(&s, argv[1]) == -1) - return 1; - - struct tnt_iter i; - tnt_iter_storage(&i, &s); - - while (tnt_next(&i)) { - struct tnt_iter_storage *is = TNT_ISTORAGE(&i); - print_tuple(&is->t); - } - if (i.status == TNT_ITER_FAIL) - printf("parsing failed: %s\n", tnt_snapshot_strerror(&s)); - - tnt_iter_free(&i); - tnt_stream_free(&s); - return 0; -} diff --git a/test/connector_c/snap.result b/test/connector_c/snap.result deleted file mode 100644 index f1a932f385dc64ffaed7be4b458b975530d19a93..0000000000000000000000000000000000000000 --- a/test/connector_c/snap.result +++ /dev/null @@ -1,4 +0,0 @@ -['3', '3'] -['hello', 'world'] -['1', 'world'] -['2', '2'] diff --git a/test/connector_c/snap.test.py b/test/connector_c/snap.test.py deleted file mode 100644 index 27512ed05eb5a5b191c3a687ce19eccc9861153e..0000000000000000000000000000000000000000 --- a/test/connector_c/snap.test.py +++ /dev/null @@ -1,11 +0,0 @@ -import subprocess -import sys -import os - -p = subprocess.Popen([os.path.join(builddir, "test/connector_c/snap"), - os.path.abspath("connector_c/connector.snap")], - stdout=subprocess.PIPE) -o,e = p.communicate() -sys.stdout.write(o) - -# vim: syntax=python diff --git a/test/connector_c/suite.ini.disabled b/test/connector_c/suite.ini.disabled deleted file mode 100644 index 468e565472e47f375137538a452f30a064e0f57d..0000000000000000000000000000000000000000 --- a/test/connector_c/suite.ini.disabled +++ /dev/null @@ -1,8 +0,0 @@ -[default] -core = tarantool -description = tarantool/box connector C -config = cfg/tarantool.cfg -# put disabled tests here -# disabled = xlog_rpl.test -# put disabled in valgrind test here -#valgrind_disabled = diff --git a/test/connector_c/tp.c b/test/connector_c/tp.c deleted file mode 100644 index 72b8c8d910d4f956af5b7f51bd7d4c671200afc9..0000000000000000000000000000000000000000 --- a/test/connector_c/tp.c +++ /dev/null @@ -1,131 +0,0 @@ - -#include <stdio.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <stdio.h> -#include <tp.h> - -static void reply_print(struct tp *rep) { - while (tp_next(rep)) { - printf("tuple fields: %d\n", tp_tuplecount(rep)); - printf("tuple size: %d\n", tp_tuplesize(rep)); - printf("["); - while (tp_nextfield(rep)) { - printf("%-.*s", tp_getfieldsize(rep), tp_getfield(rep)); - if (tp_hasnextfield(rep)) - printf(", "); - } - printf("]\n"); - } -} - -static inline int -test_check_read_reply(int fd) { - struct tp rep; - tp_init(&rep, NULL, 0, tp_realloc, NULL); - while (1) { - ssize_t to_read = tp_req(&rep); - if (to_read <= 0) - break; - ssize_t new_size = tp_ensure(&rep, to_read); - if (new_size == -1) { - // no memory (?) - return 1; - } - ssize_t res = read(fd, rep.p, to_read); - if (res == 0) { - // eof - return 1; - } else if (res < 0) { - // error - return 1; - } - tp_use(&rep, res); - } - - ssize_t server_code = tp_reply(&rep); - - if (server_code != 0) { - printf("error: %-.*s\n", tp_replyerrorlen(&rep), - tp_replyerror(&rep)); - tp_free(&rep); - return 1; - } - if (tp_replyop(&rep) == 17) { /* select */ - reply_print(&rep); - } else - if (tp_replyop(&rep) == 13) { /* insert */ - } else { - return 1; - } - tp_free(&rep); - return 0; -} - -static inline int -test_check_read(void) -{ - int fd; - struct sockaddr_in tt; - if ((fd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { - printf("Failed to create socket\n"); - return 1; - } - - memset(&tt, 0, sizeof(tt)); - tt.sin_family = AF_INET; - tt.sin_addr.s_addr = inet_addr("127.0.0.1"); - tt.sin_port = htons(33013); - if (connect(fd, (struct sockaddr *) &tt, sizeof(tt)) < 0) { - printf("Failed to connect\n"); - return 1; - } - - struct tp req; - tp_init(&req, NULL, 0, tp_realloc, NULL); - tp_insert(&req, 0, 0); - tp_tuple(&req); - tp_sz(&req, "_i32"); - tp_sz(&req, "0e72ae1a-d0be-4e49-aeb9-aebea074363c"); - tp_select(&req, 0, 0, 0, 1); - tp_tuple(&req); - tp_sz(&req, "_i32"); - int rc = write(fd, tp_buf(&req), tp_used(&req)); - if (rc != tp_used(&req)) - return 1; - - tp_free(&req); - - rc = test_check_read_reply(fd); - if (rc != 0) - return 1; - rc = test_check_read_reply(fd); - if (rc != 0) - return 1; - - close(fd); - return 0; -} - -static inline void -test_check_buffer_initialized(void) { - struct tp req; - tp_init(&req, NULL, 0, tp_realloc, NULL); - tp_select(&req, 0, 0, 0, 0); /* could fail on assert */ - tp_tuple(&req); - tp_sz(&req, "key"); - tp_free(&req); -} - -int -main(int argc, char *argv[]) -{ - (void)argc; - (void)argv; - test_check_buffer_initialized(); - test_check_read(); - return 0; -} diff --git a/test/connector_c/tp.result b/test/connector_c/tp.result deleted file mode 100644 index a5d915b32aaa31ae0f11247f927fa6879062eda9..0000000000000000000000000000000000000000 --- a/test/connector_c/tp.result +++ /dev/null @@ -1,14 +0,0 @@ -box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum') ---- -- [0, 0, 'tweedledum'] -... -box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str') ---- -- [0, 0, 'primary', 1752392040, 1, 1, 0, 'str'] -... -tuple fields: 2 -tuple size: 42 -[_i32, 0e72ae1a-d0be-4e49-aeb9-aebea074363c] -box.space[0]:drop() ---- -... diff --git a/test/connector_c/tp.test.py b/test/connector_c/tp.test.py deleted file mode 100644 index a3161c5f34ae29e8098581cd5eac9b863d562974..0000000000000000000000000000000000000000 --- a/test/connector_c/tp.test.py +++ /dev/null @@ -1,13 +0,0 @@ -import subprocess -import sys -import os - -admin("box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')") -admin("box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str')") - -p = subprocess.Popen([os.path.join(builddir, "test/connector_c/tp")], - stdout=subprocess.PIPE) -o,e = p.communicate() -sys.stdout.write(o) - -admin("box.space[0]:drop()") diff --git a/test/connector_c/tt.c b/test/connector_c/tt.c deleted file mode 100644 index db3b8d6c210707ba26c8657ca41444b41205d728..0000000000000000000000000000000000000000 --- a/test/connector_c/tt.c +++ /dev/null @@ -1,1197 +0,0 @@ - -/* - * Copyright (C) 2011 Mail.RU - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <stdlib.h> -#include <stdint.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> -#include <limits.h> - -#include <connector/c/include/tarantool/tnt.h> -#include <connector/c/include/tarantool/tnt_net.h> -#include <connector/c/include/tarantool/tnt_io.h> -#include <connector/c/include/tarantool/tnt_queue.h> -#include <connector/c/include/tarantool/tnt_utf8.h> -#include <connector/c/include/tarantool/tnt_lex.h> -#include <connector/c/include/tarantool/tnt_sql.h> - -struct tt_test; - -typedef void (*tt_testf_t)(struct tt_test *t); - -struct tt_test { - char *name; - tt_testf_t cb; - struct tt_test *next; -}; - -struct tt_list { - struct tt_test *head, *tail; - int count; -}; - -static struct tt_test* tt_test(struct tt_list *list, char *name, tt_testf_t cb) { - struct tt_test *t = malloc(sizeof(struct tt_test)); - if (t == NULL) - return NULL; - t->name = strdup(name); - t->cb = cb; - t->next = NULL; - if (list->head == NULL) - list->head = t; - else - list->tail->next = t; - list->tail = t; - list->count++; - return t; -} - -static void tt_free(struct tt_list *list) { - struct tt_test *i = list->head; - struct tt_test *n = NULL; - while (i) { - n = i->next; - free(i->name); - free(i); - i = n; - } -} - -static void tt_run(struct tt_list *list) { - struct tt_test *i = list->head; - while (i) { - printf("> %-30s", i->name); - fflush(NULL); - i->cb(i); - printf("[OK]\n"); - i = i->next; - } -} - -static void -tt_assert(struct tt_test *t, char *file, int line, int expr, char *exprsz) { - if (expr) - return; - (void)t; - printf("[%s:%d] %s\n", file, line, exprsz); - abort(); -} - -#define TT_ASSERT(EXPR) \ - tt_assert(test, __FILE__, __LINE__, (EXPR), #EXPR) - -/* basic tuple creation */ -static void tt_tnt_tuple1(struct tt_test *test) { - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_tuple(&t, "%s%d", "foo", 123); - TT_ASSERT(t.alloc == 0); - TT_ASSERT(t.cardinality == 2); - TT_ASSERT(t.data != NULL); - TT_ASSERT(t.size != 0); - tnt_tuple_free(&t); - struct tnt_tuple *tp = tnt_tuple(NULL, "%s%d", "foo", 123); - TT_ASSERT(tp->alloc == 1); - TT_ASSERT(tp->cardinality == 2); - TT_ASSERT(tp->data != NULL); - TT_ASSERT(tp->size != 0); - tnt_tuple_free(tp); -} - -/* basic tuple field manipulation */ -static void tt_tnt_tuple2(struct tt_test *test) { - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_tuple_add(&t, "foo", 4); - TT_ASSERT(t.alloc == 0); - TT_ASSERT(t.cardinality == 1); - TT_ASSERT(t.data != NULL); - TT_ASSERT(t.size != 0); - tnt_tuple_add(&t, "bar", 4); - TT_ASSERT(t.cardinality == 2); - tnt_tuple_add(&t, "baz", 4); - TT_ASSERT(t.cardinality == 3); - tnt_tuple(&t, "%s%d", "xyz", 123); - TT_ASSERT(t.cardinality == 5); - tnt_tuple_free(&t); -} - -/* basic list operations */ -static void tt_tnt_list(struct tt_test *test) { - struct tnt_list list; - tnt_list_init(&list); - tnt_list(&list, tnt_tuple(NULL, "%s", "foo"), NULL); - TT_ASSERT(list.list != NULL); - TT_ASSERT(list.alloc == 0); - TT_ASSERT(list.count == 1); - tnt_list(&list, tnt_tuple(NULL, "%s", "foo"), NULL); - tnt_list(&list, tnt_tuple(NULL, "%s", "foo"), NULL); - TT_ASSERT(list.count == 3); - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_list_at(&list, &t); - TT_ASSERT(list.count == 4); - tnt_list_free(&list); - struct tnt_list *l = - tnt_list(NULL, - tnt_tuple(NULL, "%s", "foo"), - tnt_tuple(NULL, "%s", "bar"), - tnt_tuple(NULL, "%s", "baz"), NULL); - TT_ASSERT(l->alloc == 1); - TT_ASSERT(l->list != NULL); - TT_ASSERT(l->count == 3); - tnt_list_free(l); -} - -/* stream buffer */ -static void tt_tnt_sbuf(struct tt_test *test) { - struct tnt_stream s; - tnt_buf(&s); - TT_ASSERT(s.alloc == 0); - struct tnt_stream_buf *sb = TNT_SBUF_CAST(&s); - TT_ASSERT(sb->data == NULL); - TT_ASSERT(sb->size == 0); - TT_ASSERT(sb->rdoff == 0); - TT_ASSERT(s.wrcnt == 0); - struct tnt_tuple *kv = tnt_tuple(NULL, "%s%d", "key", 123); - tnt_insert(&s, 0, 0, kv); - TT_ASSERT(sb->data != NULL); - TT_ASSERT(sb->size != 0); - TT_ASSERT(sb->rdoff == 0); - TT_ASSERT(s.wrcnt == 1); - tnt_insert(&s, 0, 0, kv); - TT_ASSERT(s.wrcnt == 2); - tnt_tuple_free(kv); - tnt_stream_free(&s); -} - -/* tuple set */ -static void tt_tnt_tuple_set(struct tt_test *test) { - char buf[75]; - *((uint32_t*)buf) = 2; /* cardinality */ - /* 4 + 1 + 5 + 1 + 64 = 75 */ - uint32_t off = sizeof(uint32_t); - int esize = tnt_enc_size(5); - tnt_enc_write(buf + off, 5); - off += esize + 5; - esize = tnt_enc_size(64); - tnt_enc_write(buf + off, 64); - off += esize + 64; - struct tnt_tuple t; - tnt_tuple_init(&t); - TT_ASSERT(tnt_tuple_set(&t, buf, 70) == NULL); - TT_ASSERT(tnt_tuple_set(&t, buf, sizeof(buf)) != NULL); - tnt_tuple_free(&t); -} - -/* iterator tuple */ -static void tt_tnt_iter1(struct tt_test *test) { - struct tnt_tuple *t = tnt_tuple(NULL, "%s%d%s", "foo", 123, "bar"); - TT_ASSERT(t->cardinality == 3); - struct tnt_iter i; - tnt_iter(&i, t); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&i) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(&i) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(&i), "foo", 3) == 0); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(TNT_IFIELD_SIZE(&i) == 4); - TT_ASSERT(TNT_IFIELD_IDX(&i) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(&i) == 123); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&i) == 2); - TT_ASSERT(TNT_IFIELD_SIZE(&i) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(&i), "bar", 3) == 0); - TT_ASSERT(tnt_next(&i) == 0); - tnt_iter_free(&i); - tnt_tuple_free(t); -} - -/* iterator tuple single field */ -static void tt_tnt_iter11(struct tt_test *test) { - struct tnt_tuple *t = tnt_tuple(NULL, "%s", "foo"); - TT_ASSERT(t->cardinality == 1); - struct tnt_iter i; - tnt_iter(&i, t); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&i) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(&i) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(&i), "foo", 3) == 0); - TT_ASSERT(tnt_next(&i) == 0); - tnt_iter_free(&i); - tnt_tuple_free(t); -} - -/* iterator tuple field */ -static void tt_tnt_iter2(struct tt_test *test) { - struct tnt_tuple *t = tnt_tuple(NULL, "%s%d%s", "foo", 123, "bar"); - TT_ASSERT(t->cardinality == 3); - struct tnt_iter *i = tnt_field(NULL, t, 0); - TT_ASSERT(i->alloc != 0); - TT_ASSERT(tnt_field(i, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(i) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(i) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(i), "foo", 3) == 0); - TT_ASSERT(tnt_field(i, NULL, 1) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(i) == 4); - TT_ASSERT(TNT_IFIELD_IDX(i) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(i) == 123); - TT_ASSERT(tnt_field(i, NULL, 2) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(i) == 2); - TT_ASSERT(TNT_IFIELD_SIZE(i) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(i), "bar", 3) == 0); - TT_ASSERT(tnt_field(i, NULL, 3) == NULL); - tnt_iter_free(i); - tnt_tuple_free(t); -} - -/* iterator list */ -static void tt_tnt_iter3(struct tt_test *test) { - struct tnt_tuple t1, t2, t3; - tnt_tuple_init(&t1); - tnt_tuple_init(&t2); - tnt_tuple_init(&t3); - tnt_tuple(&t1, "%s", "foo"); - tnt_tuple(&t2, "%s", "bar"); - tnt_tuple(&t3, "%s", "baz"); - struct tnt_list *l = tnt_list(NULL, &t1, &t2, &t3, NULL); - TT_ASSERT(l->count == 3); - struct tnt_iter i; - tnt_iter_list(&i, l); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(TNT_ILIST_TUPLE(&i) == &t1); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(TNT_ILIST_TUPLE(&i) == &t2); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(TNT_ILIST_TUPLE(&i) == &t3); - TT_ASSERT(tnt_next(&i) == 0); - tnt_tuple_free(&t1); - tnt_tuple_free(&t2); - tnt_tuple_free(&t3); - tnt_iter_free(&i); - tnt_list_free(l); -} - -/* iterator empty tuple */ -static void tt_tnt_iter4(struct tt_test *test) { - char buf[4]; - memset(buf, 0, sizeof(buf)); - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_tuple_set(&t, buf, sizeof(buf)); - struct tnt_iter i; - tnt_iter(&i, &t); - TT_ASSERT(tnt_next(&i) == 0); - tnt_iter_free(&i); - tnt_tuple_free(&t); -} - -/* marshal ping */ -static void tt_tnt_marshal_ping(struct tt_test *test) { - struct tnt_stream s; - tnt_buf(&s); - tnt_ping(&s); - tnt_ping(&s); - struct tnt_iter i; - tnt_iter_request(&i, &s); - TT_ASSERT(tnt_next(&i) == 1); - struct tnt_request *r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_PING); - TT_ASSERT(tnt_next(&i) == 1); - TT_ASSERT(r->h.type == TNT_OP_PING); - TT_ASSERT(tnt_next(&i) == 0); - tnt_iter_free(&i); - tnt_stream_free(&s); -} - -/* marshal insert */ -static void tt_tnt_marshal_insert(struct tt_test *test) { - struct tnt_stream s; - tnt_buf(&s); - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_tuple(&t, "%s%d", "foo", 123); - tnt_insert(&s, 0, 0, &t); - tnt_insert(&s, 0, 0, &t); - struct tnt_iter i; - tnt_iter_request(&i, &s); - TT_ASSERT(tnt_next(&i) == 1); - struct tnt_request *r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_INSERT); - struct tnt_iter *f = tnt_field(NULL, &r->r.insert.t, 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - TT_ASSERT(tnt_field(f, NULL, 1) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 4); - TT_ASSERT(TNT_IFIELD_IDX(f) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(f) == 123); - TT_ASSERT(tnt_next(&i) == 1); - r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_INSERT); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - TT_ASSERT(tnt_field(f, NULL, 1) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 4); - TT_ASSERT(TNT_IFIELD_IDX(f) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(f) == 123); - TT_ASSERT(tnt_next(&i) == 0); - tnt_tuple_free(&t); - tnt_iter_free(&i); - tnt_stream_free(&s); -} - -/* marshal delete */ -static void tt_tnt_marshal_delete(struct tt_test *test) { - struct tnt_stream s; - tnt_buf(&s); - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_tuple(&t, "%s", "foo"); - tnt_delete(&s, 0, 0, &t); - tnt_delete(&s, 0, 0, &t); - struct tnt_iter i; - tnt_iter_request(&i, &s); - TT_ASSERT(tnt_next(&i) == 1); - struct tnt_request *r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_DELETE); - struct tnt_iter *f = tnt_field(NULL, &r->r.del.t, 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - TT_ASSERT(tnt_next(&i) == 1); - r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_DELETE); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - TT_ASSERT(tnt_next(&i) == 0); - tnt_tuple_free(&t); - tnt_iter_free(&i); - tnt_stream_free(&s); -} - -/* marshal call */ -static void tt_tnt_marshal_call(struct tt_test *test) { - struct tnt_stream s; - tnt_buf(&s); - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_tuple(&t, "%s%d", "foo", 123); - tnt_call(&s, 0, "box.select", &t); - tnt_call(&s, 0, "box.select", &t); - struct tnt_iter i; - tnt_iter_request(&i, &s); - TT_ASSERT(tnt_next(&i) == 1); - struct tnt_request *r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_CALL); - TT_ASSERT(strcmp(r->r.call.proc, "box.select") == 0); - struct tnt_iter *f = tnt_field(NULL, &r->r.call.t, 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - TT_ASSERT(tnt_field(f, NULL, 1) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 4); - TT_ASSERT(TNT_IFIELD_IDX(f) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(f) == 123); - TT_ASSERT(tnt_next(&i) == 1); - r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_CALL); - TT_ASSERT(strcmp(r->r.call.proc, "box.select") == 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - TT_ASSERT(tnt_field(f, NULL, 1) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 4); - TT_ASSERT(TNT_IFIELD_IDX(f) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(f) == 123); - TT_ASSERT(tnt_next(&i) == 0); - tnt_tuple_free(&t); - tnt_iter_free(&i); - tnt_stream_free(&s); -} - -/* marshal select */ -static void tt_tnt_marshal_select(struct tt_test *test) { - struct tnt_stream s; - tnt_buf(&s); - struct tnt_list list; - tnt_list_init(&list); - tnt_list(&list, tnt_tuple(NULL, "%s", "foo"), - tnt_tuple(NULL, "%s%d", "bar", 444), - tnt_tuple(NULL, "%s%d%d", "baz", 1, 2), - NULL); - tnt_select(&s, 0, 0, 0, 1, &list); - struct tnt_iter i; - tnt_iter_request(&i, &s); - TT_ASSERT(tnt_next(&i) == 1); - struct tnt_request *r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_SELECT); - struct tnt_iter il; - tnt_iter_list(&il, &r->r.select.l); - TT_ASSERT(tnt_next(&il) == 1); - struct tnt_tuple *t = TNT_ILIST_TUPLE(&il); - struct tnt_iter *f = tnt_field(NULL, t, 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - tnt_iter_free(f); - TT_ASSERT(tnt_next(&il) == 1); - t = TNT_ILIST_TUPLE(&il); - f = tnt_field(NULL, t, 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "bar", 3) == 0); - TT_ASSERT(tnt_field(f, NULL, 1) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 4); - TT_ASSERT(TNT_IFIELD_IDX(f) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(f) == 444); - tnt_iter_free(f); - TT_ASSERT(tnt_next(&il) == 1); - t = TNT_ILIST_TUPLE(&il); - f = tnt_field(NULL, t, 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "baz", 3) == 0); - TT_ASSERT(tnt_field(f, NULL, 1) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 4); - TT_ASSERT(TNT_IFIELD_IDX(f) == 1); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(f) == 1); - TT_ASSERT(tnt_field(f, NULL, 2) != NULL); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 4); - TT_ASSERT(TNT_IFIELD_IDX(f) == 2); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(f) == 2); - tnt_iter_free(f); - TT_ASSERT(tnt_next(&il) == 0); - tnt_iter_free(&i); - tnt_iter_free(&il); - tnt_list_free(&list); - tnt_stream_free(&s); -} - -/* marshal update */ -static void tt_tnt_marshal_update(struct tt_test *test) { - struct tnt_stream s, ops; - tnt_buf(&s); - tnt_buf(&ops); - struct tnt_tuple t; - tnt_tuple_init(&t); - tnt_tuple(&t, "%s", "foo"); - tnt_update_assign(&ops, 444, "FOO", 3); - tnt_update_arith(&ops, 2, TNT_UPDATE_ADD, 7); - TT_ASSERT(tnt_update(&s, 0, 0, &t, &ops) > 0); - struct tnt_iter i; - tnt_iter_request(&i, &s); - TT_ASSERT(tnt_next(&i) == 1); - struct tnt_request *r = TNT_IREQUEST_PTR(&i); - TT_ASSERT(r->h.type == TNT_OP_UPDATE); - TT_ASSERT(r->r.update.opc == 2); - struct tnt_iter *f = tnt_field(NULL, &r->r.update.t, 0); - TT_ASSERT(tnt_field(f, NULL, 0) != NULL); - TT_ASSERT(TNT_IFIELD_IDX(f) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(f) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(f), "foo", 3) == 0); - TT_ASSERT(r->r.update.opv[0].op == TNT_UPDATE_ASSIGN); - TT_ASSERT(r->r.update.opv[0].field == 444); - TT_ASSERT(r->r.update.opv[0].size == 3); - TT_ASSERT(memcmp(r->r.update.opv[0].data, "FOO", 3) == 0); - TT_ASSERT(r->r.update.opv[1].op == TNT_UPDATE_ADD); - TT_ASSERT(r->r.update.opv[1].field == 2); - TT_ASSERT(r->r.update.opv[1].size == 4); - TT_ASSERT(*(uint32_t*)r->r.update.opv[1].data == 7); - TT_ASSERT(tnt_next(&i) == 0); - tnt_tuple_free(&t); - tnt_stream_free(&s); - tnt_stream_free(&ops); - tnt_iter_free(&i); -} - -static struct tnt_stream net; - -/* network connection */ -static void tt_tnt_net_connect(struct tt_test *test) { - TT_ASSERT(tnt_net(&net) != NULL); - TT_ASSERT(tnt_set(&net, TNT_OPT_HOSTNAME, "localhost") == 0); - TT_ASSERT(tnt_set(&net, TNT_OPT_PORT, 33013) == 0); - TT_ASSERT(tnt_init(&net) == 0); - TT_ASSERT(tnt_connect(&net) == 0); -} - -/* ping */ -static void tt_tnt_net_ping(struct tt_test *test) { - TT_ASSERT(tnt_ping(&net) > 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_PING); - } - tnt_iter_free(&i); -} - -/* insert */ -static void tt_tnt_net_insert(struct tt_test *test) { - tnt_stream_reqid(&net, 777); - struct tnt_tuple kv1; - tnt_tuple_init(&kv1); - tnt_tuple(&kv1, "%d%s", 123, "foo"); - TT_ASSERT(tnt_insert(&net, 0, 0, &kv1) > 0); - struct tnt_tuple kv2; - tnt_tuple_init(&kv2); - tnt_tuple(&kv2, "%d%s", 321, "bar"); - TT_ASSERT(tnt_insert(&net, 0, 0, &kv2) > 0); - TT_ASSERT(tnt_flush(&net) > 0); - tnt_tuple_free(&kv1); - tnt_tuple_free(&kv2); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->reqid == 777); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_INSERT); - TT_ASSERT(r->count == 1); - } - tnt_iter_free(&i); -} - -/* update */ -static void tt_tnt_net_update(struct tt_test *test) { - struct tnt_stream ops; - TT_ASSERT(tnt_buf(&ops) != NULL); - tnt_update_arith(&ops, 0, TNT_UPDATE_ADD, 7); - tnt_update_assign(&ops, 1, "FOO", 3); - struct tnt_tuple *k = tnt_tuple(NULL, "%d", 123); - TT_ASSERT(tnt_update(&net, 0, 0, k, &ops) > 0); - tnt_tuple_free(k); - tnt_stream_free(&ops); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_UPDATE); - TT_ASSERT(r->count == 1); - } -} - -/* select */ -static void tt_tnt_net_select(struct tt_test *test) { - struct tnt_list *search = - tnt_list(NULL, tnt_tuple(NULL, "%d", 130), NULL); - TT_ASSERT(tnt_select(&net, 0, 0, 0, 1, search) > 0); - TT_ASSERT(tnt_flush(&net) > 0); - tnt_list_free(search); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_SELECT); - TT_ASSERT(r->count == 1); - struct tnt_iter il; - tnt_iter_list(&il, TNT_REPLY_LIST(r)); - TT_ASSERT(tnt_next(&il) == 1); - struct tnt_tuple *tp; - tp = TNT_ILIST_TUPLE(&il); - TT_ASSERT(tp->cardinality == 2); - TT_ASSERT(tp->alloc == 1); - TT_ASSERT(tp->data != NULL); - TT_ASSERT(tp->size != 0); - struct tnt_iter ifl; - tnt_iter(&ifl, tp); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 4); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(&ifl) == 130); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(&ifl), "FOO", 3) == 0); - TT_ASSERT(tnt_next(&ifl) == 0); - tnt_iter_free(&ifl); - tnt_iter_free(&il); - } -} - -/* delete */ -static void tt_tnt_net_delete(struct tt_test *test) { - struct tnt_tuple k; - tnt_tuple_init(&k); - tnt_tuple(&k, "%d", 321); - TT_ASSERT(tnt_delete(&net, 0, 0, &k) > 0); - TT_ASSERT(tnt_flush(&net) > 0); - tnt_tuple_free(&k); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_DELETE); - TT_ASSERT(r->count == 1); - } - tnt_iter_free(&i); -} - -/* call */ -static void tt_tnt_net_call(struct tt_test *test) { - struct tnt_tuple args; - tnt_tuple_init(&args); - tnt_tuple(&args, "%s%d%s%s", "0", 333, "B", "C"); - TT_ASSERT(tnt_call(&net, 0, "box.insert", &args) > 0); - TT_ASSERT(tnt_flush(&net) > 0); - tnt_tuple_free(&args); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_CALL); - TT_ASSERT(r->count == 1); - } - tnt_iter_free(&i); -} - -/* call (no args) */ -static void tt_tnt_net_call_na(struct tt_test *test) { - struct tnt_tuple args; - tnt_tuple_init(&args); - TT_ASSERT(tnt_call(&net, 0, "box.insert", &args) > 0); - TT_ASSERT(tnt_flush(&net) > 0); - tnt_tuple_free(&args); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code != 0); - TT_ASSERT(strstr(r->error, "box.pack") != NULL); - } - tnt_iter_free(&i); -} - -/* reply */ -static void tt_tnt_net_reply(struct tt_test *test) { - struct tnt_tuple kv1, kv2; - tnt_tuple_init(&kv1); - tnt_tuple(&kv1, "%d%s", 587, "foo"); - TT_ASSERT(tnt_insert(&net, 0, TNT_FLAG_RETURN, &kv1) > 0); - tnt_tuple_free(&kv1); - tnt_tuple_init(&kv2); - tnt_tuple(&kv2, "%d%s", 785, "bar"); - TT_ASSERT(tnt_insert(&net, 0, TNT_FLAG_RETURN, &kv2) > 0); - tnt_tuple_free(&kv2); - TT_ASSERT(tnt_flush(&net) > 0); - - struct tnt_stream_net *s = TNT_SNET_CAST(&net); - int current = 0; - size_t off = 0; - ssize_t size = 0; - char buffer[512]; - - while (current != 2) { - struct tnt_reply r; - tnt_reply_init(&r); - int rc = tnt_reply(&r, buffer, size, &off); - TT_ASSERT(rc != -1); - if (rc == 1) { - ssize_t res = tnt_io_recv_raw(s, buffer + size, off, 1); - TT_ASSERT(res > 0); - size += off; - continue; - } - TT_ASSERT(rc == 0); - TT_ASSERT(r.code == 0); - TT_ASSERT(r.op == TNT_OP_INSERT); - TT_ASSERT(r.count == 1); - if (current == 0) { - struct tnt_iter il; - tnt_iter_list(&il, TNT_REPLY_LIST(&r)); - TT_ASSERT(tnt_next(&il) == 1); - struct tnt_tuple *tp = TNT_ILIST_TUPLE(&il); - TT_ASSERT(tp->cardinality == 2); - TT_ASSERT(tp->alloc == 1); - TT_ASSERT(tp->data != NULL); - TT_ASSERT(tp->size != 0); - struct tnt_iter ifl; - tnt_iter(&ifl, tp); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 4); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(&ifl) == 587); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(&ifl), "foo", 3) == 0); - TT_ASSERT(tnt_next(&ifl) == 0); - tnt_iter_free(&ifl); - tnt_iter_free(&il); - off = 0; - size = 0; - } else - if (current == 1) { - struct tnt_iter il; - tnt_iter_list(&il, TNT_REPLY_LIST(&r)); - TT_ASSERT(tnt_next(&il) == 1); - struct tnt_tuple *tp = TNT_ILIST_TUPLE(&il); - TT_ASSERT(tp->cardinality == 2); - TT_ASSERT(tp->alloc == 1); - TT_ASSERT(tp->data != NULL); - TT_ASSERT(tp->size != 0); - struct tnt_iter ifl; - tnt_iter(&ifl, tp); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 4); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(&ifl) == 785); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 3); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(&ifl), "bar", 3) == 0); - TT_ASSERT(tnt_next(&ifl) == 0); - tnt_iter_free(&ifl); - tnt_iter_free(&il); - } - tnt_reply_free(&r); - current++; - } - - net.wrcnt -= 2; -} - -extern struct tnt_lex_keyword tnt_sql_keywords[]; - -/* lex ws */ -static void tt_tnt_lex_ws(struct tt_test *test) { - unsigned char sz[] = " # abcde fghjk ## hh\n # zzz\n#NOCR"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex integer */ -static void tt_tnt_lex_int(struct tt_test *test) { - unsigned char sz[] = "\f\r\n 123 34\n\t\r56 888L56 2147483646 2147483647 " - "-2147483648 -2147483649 72057594037927935"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == 123); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == 34); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == 56); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM64 && TNT_TK_I64(tk) == 888); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == 56); - - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == INT_MAX - 1); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM64 && TNT_TK_I64(tk) == INT_MAX); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == INT_MIN); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM64 && TNT_TK_I64(tk) == INT_MIN - 1LL); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM64 && TNT_TK_I64(tk) == 72057594037927935LL); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex punctuation */ -static void tt_tnt_lex_punct(struct tt_test *test) { - unsigned char sz[] = "123,34\n-10\t:\r(56)"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == 123); - TT_ASSERT(tnt_lex(&l, &tk) == ',' && TNT_TK_I32(tk) == ','); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == 34); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == -10); - TT_ASSERT(tnt_lex(&l, &tk) == ':' && TNT_TK_I32(tk) == ':'); - TT_ASSERT(tnt_lex(&l, &tk) == '('&& TNT_TK_I32(tk) == '('); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_NUM32 && TNT_TK_I32(tk) == 56); - TT_ASSERT(tnt_lex(&l, &tk) == ')' && TNT_TK_I32(tk) == ')'); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex string */ -static void tt_tnt_lex_str(struct tt_test *test) { - unsigned char sz[] = " 'hello'\n\t 'world' 'вÑем привет!'"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_STRING && - TNT_TK_S(tk)->size == 5 && - memcmp(TNT_TK_S(tk)->data, "hello", 5) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_STRING && - TNT_TK_S(tk)->size == 5 && - memcmp(TNT_TK_S(tk)->data, "world", 5) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_STRING && - TNT_TK_S(tk)->size == 22 && - memcmp(TNT_TK_S(tk)->data, "вÑем привет!", 22) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex id's */ -static void tt_tnt_lex_ids(struct tt_test *test) { - unsigned char sz[] = " hello\nÑтот безумный безумный мир\t world "; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ID && - TNT_TK_S(tk)->size == 5 && - memcmp(TNT_TK_S(tk)->data, "hello", 5) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ID && - TNT_TK_S(tk)->size == 8 && - memcmp(TNT_TK_S(tk)->data, "Ñтот", 8) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ID && - TNT_TK_S(tk)->size == 16 && - memcmp(TNT_TK_S(tk)->data, "безумный", 16) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ID && - TNT_TK_S(tk)->size == 16 && - memcmp(TNT_TK_S(tk)->data, "безумный", 16) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ID && - TNT_TK_S(tk)->size == 6 && - memcmp(TNT_TK_S(tk)->data, "мир", 6) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ID && - TNT_TK_S(tk)->size == 5 && - memcmp(TNT_TK_S(tk)->data, "world", 5) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex keys and tables */ -static void tt_tnt_lex_kt(struct tt_test *test) { - unsigned char sz[] = " k0\n\tk20 t0 k1000 t55 k001 t8"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_KEY && TNT_TK_I32(tk) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_KEY && TNT_TK_I32(tk) == 20); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_TABLE && TNT_TK_I32(tk) == 0); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_KEY && TNT_TK_I32(tk) == 1000); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_TABLE && TNT_TK_I32(tk) == 55); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_KEY && TNT_TK_I32(tk) == 1); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_TABLE && TNT_TK_I32(tk) == 8); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex keywords */ -static void tt_tnt_lex_kw(struct tt_test *test) { - unsigned char sz[] = " INSERT UPDATE INTO OR FROM WHERE VALUES"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_INSERT); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_UPDATE); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_INTO); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_OR); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_FROM); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_WHERE); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_VALUES); - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex stack */ -static void tt_tnt_lex_stack(struct tt_test *test) { - unsigned char sz[] = " 1 'hey' ,.55"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk1, *tk2, *tk3, *tk4, *tk5, *tk6; - TT_ASSERT(tnt_lex(&l, &tk1) == TNT_TK_NUM32); - TT_ASSERT(tnt_lex(&l, &tk2) == TNT_TK_STRING); - TT_ASSERT(tnt_lex(&l, &tk3) == ','); - TT_ASSERT(tnt_lex(&l, &tk4) == '.'); - TT_ASSERT(tnt_lex(&l, &tk5) == TNT_TK_NUM32); - TT_ASSERT(tnt_lex(&l, &tk6) == TNT_TK_EOF); - tnt_lex_push(&l, tk5); - tnt_lex_push(&l, tk4); - tnt_lex_push(&l, tk3); - tnt_lex_push(&l, tk2); - tnt_lex_push(&l, tk1); - TT_ASSERT(tnt_lex(&l, &tk1) == TNT_TK_NUM32); - TT_ASSERT(tnt_lex(&l, &tk2) == TNT_TK_STRING); - TT_ASSERT(tnt_lex(&l, &tk3) == ','); - TT_ASSERT(tnt_lex(&l, &tk4) == '.'); - TT_ASSERT(tnt_lex(&l, &tk5) == TNT_TK_NUM32); - TT_ASSERT(tnt_lex(&l, &tk6) == TNT_TK_EOF); - tnt_lex_free(&l); -} - -/* lex bad string 1 */ -static void tt_tnt_lex_badstr1(struct tt_test *test) { - unsigned char sz[] = " '"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ERROR); - tnt_lex_free(&l); - -} - -/* lex bad string 2 */ -static void tt_tnt_lex_badstr2(struct tt_test *test) { - unsigned char sz[] = " '\n'"; - struct tnt_lex l; - tnt_lex_init(&l, tnt_sql_keywords, sz, sizeof(sz) - 1); - struct tnt_tk *tk; - TT_ASSERT(tnt_lex(&l, &tk) == TNT_TK_ERROR); - tnt_lex_free(&l); -} - -/* sql ping */ -static void tt_tnt_sql_ping(struct tt_test *test) { - char *e = NULL; - char q[] = "PING"; - TT_ASSERT(tnt_query(&net, q, sizeof(q) - 1, &e) == 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_PING); - } - tnt_iter_free(&i); -} - -/* sql insert */ -static void tt_tnt_sql_insert(struct tt_test *test) { - char *e = NULL; - char q[] = "insert into t0 values (222, 'baz')"; - TT_ASSERT(tnt_query(&net, q, sizeof(q) - 1, &e) == 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_INSERT); - TT_ASSERT(r->count == 1); - } - tnt_iter_free(&i); -} - -/* sql update */ -static void tt_tnt_sql_update(struct tt_test *test) { - char *e; - char q1[] = "update t0 set k0 = 7 where k0 = 222"; - TT_ASSERT(tnt_query(&net, q1, sizeof(q1) - 1, &e) == 0); - /* 7 + 1 = 8 */ - char q2[] = "update t0 set k0 = k0 + 1 where k0 = 7"; - TT_ASSERT(tnt_query(&net, q2, sizeof(q2) - 1, &e) == 0); - /* 8 | 2 = 10 */ - char q3[] = "update t0 set k0 = k0 | 2 where k0 = 8"; - TT_ASSERT(tnt_query(&net, q3, sizeof(q3) - 1, &e) == 0); - /* 10 & 2 = 2 */ - char q4[] = "update t0 set k0 = k0 & 2 where k0 = 10"; - TT_ASSERT(tnt_query(&net, q4, sizeof(q4) - 1, &e) == 0); - /* 2 ^ 123 = 121 */ - char q5[] = "update t0 set k0 = k0 ^ 123 where k0 = 2"; - TT_ASSERT(tnt_query(&net, q5, sizeof(q5) - 1, &e) == 0); - /* assign */ - char q6[] = "update t0 set k0 = 222, k1 = 'hello world' where k0 = 121"; - TT_ASSERT(tnt_query(&net, q6, sizeof(q6) - 1, &e) == 0); - /* splice */ - char q7[] = "update t0 set k1 = splice(k1, 0, 2, 'AB') where k0 = 222"; - TT_ASSERT(tnt_query(&net, q7, sizeof(q7) - 1, &e) == 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_UPDATE); - TT_ASSERT(r->count == 1); - } - tnt_iter_free(&i); -} - -/* sql select */ -static void tt_tnt_sql_select(struct tt_test *test) { - char *e = NULL; - char q[] = "select * from t0 where k0 = 222 or k0 = 222"; - TT_ASSERT(tnt_query(&net, q, sizeof(q) - 1, &e) == 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_SELECT); - TT_ASSERT(r->count == 2); - struct tnt_iter il; - tnt_iter_list(&il, TNT_REPLY_LIST(r)); - TT_ASSERT(tnt_next(&il) == 1); - struct tnt_tuple *tp; - tp = TNT_ILIST_TUPLE(&il); - TT_ASSERT(tp->cardinality == 2); - TT_ASSERT(tp->alloc == 1); - TT_ASSERT(tp->data != NULL); - TT_ASSERT(tp->size != 0); - struct tnt_iter ifl; - tnt_iter(&ifl, tp); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 0); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 4); - TT_ASSERT(*(uint32_t*)TNT_IFIELD_DATA(&ifl) == 222); - TT_ASSERT(tnt_next(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_IDX(&ifl) == 1); - TT_ASSERT(TNT_IFIELD_SIZE(&ifl) == 11); - TT_ASSERT(memcmp(TNT_IFIELD_DATA(&ifl), "ABllo world", 11) == 0); - TT_ASSERT(tnt_next(&ifl) == 0); - tnt_iter_free(&ifl); - tnt_iter_free(&il); - } - tnt_iter_free(&i); -} - -/* sql select limit */ -static void tt_tnt_sql_select_limit(struct tt_test *test) { - char *e = NULL; - char q[] = "select * from t0 where k0 = 222 limit 0"; - TT_ASSERT(tnt_query(&net, q, sizeof(q) - 1, &e) == 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_SELECT); - TT_ASSERT(r->count == 0); - } - tnt_iter_free(&i); -} - -/* sql delete */ -static void tt_tnt_sql_delete(struct tt_test *test) { - char *e = NULL; - char q[] = "delete from t0 where k0 = 222"; - TT_ASSERT(tnt_query(&net, q, sizeof(q) - 1, &e) == 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_DELETE); - TT_ASSERT(r->count == 1); - } - tnt_iter_free(&i); -} - -/* sql call */ -static void tt_tnt_sql_call(struct tt_test *test) { - char *e = NULL; - char q[] = "call box.insert('0', 454, 'abc', 'cba')"; - TT_ASSERT(tnt_query(&net, q, sizeof(q) - 1, &e) == 0); - TT_ASSERT(tnt_flush(&net) > 0); - struct tnt_iter i; - tnt_iter_reply(&i, &net); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - TT_ASSERT(r->code == 0); - TT_ASSERT(r->op == TNT_OP_CALL); - TT_ASSERT(r->count == 1); - } - tnt_iter_free(&i); -} - -int -main(int argc, char * argv[]) -{ - (void)argc, (void)argv; - - struct tt_list t; - memset(&t, 0, sizeof(t)); - - /* common data manipulation */ - tt_test(&t, "tuple1", tt_tnt_tuple1); - tt_test(&t, "tuple2", tt_tnt_tuple2); - tt_test(&t, "list", tt_tnt_list); - tt_test(&t, "stream buffer", tt_tnt_sbuf); - tt_test(&t, "tuple set", tt_tnt_tuple_set); - tt_test(&t, "iterator tuple", tt_tnt_iter1); - tt_test(&t, "iterator tuple (single field)", tt_tnt_iter11); - tt_test(&t, "iterator tuple (tnt_field)", tt_tnt_iter2); - tt_test(&t, "iterator tuple (empty)", tt_tnt_iter4); - tt_test(&t, "iterator list", tt_tnt_iter3); - /* marshaling */ - tt_test(&t, "marshaling ping", tt_tnt_marshal_ping); - tt_test(&t, "marshaling insert", tt_tnt_marshal_insert); - tt_test(&t, "marshaling delete", tt_tnt_marshal_delete); - tt_test(&t, "marshaling call", tt_tnt_marshal_call); - tt_test(&t, "marshaling select", tt_tnt_marshal_select); - tt_test(&t, "marshaling update", tt_tnt_marshal_update); - /* common operations */ - tt_test(&t, "connect", tt_tnt_net_connect); - tt_test(&t, "ping", tt_tnt_net_ping); - tt_test(&t, "insert", tt_tnt_net_insert); - tt_test(&t, "update", tt_tnt_net_update); - tt_test(&t, "select", tt_tnt_net_select); - tt_test(&t, "delete", tt_tnt_net_delete); - tt_test(&t, "call", tt_tnt_net_call); - tt_test(&t, "call (no args)", tt_tnt_net_call_na); - tt_test(&t, "reply", tt_tnt_net_reply); - /* sql lexer */ - tt_test(&t, "lex ws", tt_tnt_lex_ws); - tt_test(&t, "lex integer", tt_tnt_lex_int); - tt_test(&t, "lex string", tt_tnt_lex_str); - tt_test(&t, "lex punctuation", tt_tnt_lex_punct); - tt_test(&t, "lex ids", tt_tnt_lex_ids); - tt_test(&t, "lex keywords", tt_tnt_lex_kw); - tt_test(&t, "lex keys and tables", tt_tnt_lex_kt); - tt_test(&t, "lex stack", tt_tnt_lex_stack); - tt_test(&t, "lex bad string1", tt_tnt_lex_badstr1); - tt_test(&t, "lex bad string2", tt_tnt_lex_badstr2); - /* sql stmts */ - tt_test(&t, "sql ping", tt_tnt_sql_ping); - tt_test(&t, "sql insert", tt_tnt_sql_insert); - tt_test(&t, "sql update", tt_tnt_sql_update); - tt_test(&t, "sql select", tt_tnt_sql_select); - tt_test(&t, "sql select limit", tt_tnt_sql_select_limit); - tt_test(&t, "sql delete", tt_tnt_sql_delete); - tt_test(&t, "sql call", tt_tnt_sql_call); - - tt_run(&t); - tt_free(&t); - - tnt_stream_free(&net); - return 0; -} diff --git a/test/connector_c/update.c b/test/connector_c/update.c deleted file mode 100644 index 4f357d7c1fee396770c7f2467058340816a88c7f..0000000000000000000000000000000000000000 --- a/test/connector_c/update.c +++ /dev/null @@ -1,992 +0,0 @@ - -/* - * Copyright (C) 2011 Mail.RU - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <stdlib.h> -#include <stdio.h> -#include <stdbool.h> -#include <string.h> -#include <limits.h> - -#include <connector/c/include/tarantool/tnt.h> -#include <connector/c/include/tarantool/tnt_net.h> -#include <connector/c/include/tarantool/tnt_io.h> - -#include "tarantool/util.h" -#include <errcode.h> -#include <unit.h> - -/*========================================================================== - * test variables - *==========================================================================*/ - -/** tarantool connector instance */ -static struct tnt_stream *tnt; - -static char *long_string = "A long time ago, in a galaxy far, far away...\n" - "It is a period of civil war. Rebel\n" - "spaceships, striking from a hidden\n" - "base, have won their first victory\n" - "against the evil Galactic Empire.\n" - "During the battle, Rebel spies managed\n" - "to steal secret plans to the Empire's\n" - "ultimate weapon, the Death Star, an\n" - "armored space station with enough\n" - "power to destroy an entire planet.\n" - "Pursued by the Empire's sinister agents,\n" - "Princess Leia races home aboard her\n" - "starship, custodian of the stolen plans\n" - "that can save her people and restore\n" - "freedom to the galaxy...."; - -/*========================================================================== - * function declaration - *==========================================================================*/ - -/*-------------------------------------------------------------------------- - * tarantool management functions - *--------------------------------------------------------------------------*/ - -/** insert tuple */ -void -insert_tuple(struct tnt_tuple *tuple); - -/** select tuple by key */ -void -select_tuple(int32_t key); - -/** update fields */ -void -update(int32_t key, struct tnt_stream *stream); - -/** add update fields operation: set int32 */ -void -update_set_i32(struct tnt_stream *stream, int32_t field, int32_t value); - -/** add update fields operation: set string */ -void -update_set_str(struct tnt_stream *stream, int32_t field, char *str); - -/** add update fields operation: splice string */ -void -update_splice_str(struct tnt_stream *stream, int32_t field, int32_t offset, int32_t length, - char *list); - -/** add update fields operation: delete field */ -void -update_delete_field(struct tnt_stream *stream, int32_t field); - -/** add update fields operation: insert before int32 */ -void -update_insert_i32(struct tnt_stream *stream, int32_t field, int32_t value); - -/** add update fields operation: insert before string */ -void -update_insert_str(struct tnt_stream *stream, int32_t field, char *str); - -/** receive reply from server */ -void -recv_command(char *command); - -/** print tuple */ -void -print_tuple(struct tnt_tuple *tuple); - -/*-------------------------------------------------------------------------- - * test suite functions - *--------------------------------------------------------------------------*/ - -/** setup test suite */ -void -test_suite_setup(); - -/** clean-up test suite */ -void -test_suite_tear_down(); - -/** print tarantool error message and exit */ -void -fail_tnt_error(char *msg, int error_code); - -/** print tarantool error message and exit */ -void -fail_tnt_perror(char *msg); - - -/*-------------------------------------------------------------------------- - * test cases functions - *--------------------------------------------------------------------------*/ - -/** update fields test case: simple set operation test */ -void -test_simple_set(); - -/** update fields test case: long set operation test */ -void -test_long_set(); - -/** update fields test case: append(set) operation test */ -void -test_append(); - -/** update fields test case: 32-bit arithmetics operations test */ -void -test_arith_i32(); - -/** update fields test case: 64-bit arithmetics operations test */ -void -test_arith_i64(); - -/** update fields test case: multi arithmetics operations test */ -void -test_multi_arith(); - -/** update fields test case: splice operations test */ -void -test_splice(); - -/** update fields test case: set and spice operations test */ -void -test_set_and_splice(); - -/** update fields test case: delete field operations test */ -void -test_delete_field(); - -/** update fields test case: insert field operations test */ -void -test_insert_field(); - -/** update fields test case: boundary arguments values test */ -void -test_boundary_args(); - - -/*========================================================================== - * function definition - *==========================================================================*/ - -int -main() -{ - /* initialize suite */ - test_suite_setup(); - /* run tests */ - test_simple_set(); - test_long_set(); - test_append(); - test_arith_i32(); - test_arith_i64(); - test_multi_arith(); - test_splice(); - test_set_and_splice(); - test_delete_field(); - test_insert_field(); - test_boundary_args(); - /* clean-up suite */ - test_suite_tear_down(); - return EXIT_SUCCESS; -} - - -/*-------------------------------------------------------------------------- - * tarantool management functions - *--------------------------------------------------------------------------*/ - -void -insert_tuple(struct tnt_tuple *tuple) -{ - if (tnt_insert(tnt, 0, TNT_FLAG_RETURN, tuple) < 0) - fail_tnt_perror("tnt_insert"); - if (tnt_flush(tnt) < 0) - fail_tnt_perror("tnt_flush"); - recv_command("insert"); -} - -void -select_tuple(int32_t key) -{ - struct tnt_list tuple_list; - tnt_list_init(&tuple_list); - struct tnt_tuple *tuple = tnt_list_at(&tuple_list, NULL); - tnt_tuple(tuple, "%d", key); - if (tnt_select(tnt, 0, 0, 0, 1, &tuple_list) < 0) - fail_tnt_perror("tnt_select"); - if (tnt_flush(tnt) < 0) - fail_tnt_perror("tnt_flush"); - recv_command("select"); - tnt_list_free(&tuple_list); -} - -void -update(int32_t key, struct tnt_stream *stream) -{ - struct tnt_tuple *k = tnt_tuple(NULL, "%d", key); - if (tnt_update(tnt, 0, TNT_FLAG_RETURN, k, stream) < 0) - fail_tnt_perror("tnt_update"); - if (tnt_flush(tnt) < 0) - fail_tnt_perror("tnt_flush"); - tnt_tuple_free(k); - recv_command("update fields"); -} - -void -update_set_i32(struct tnt_stream *stream, int32_t field, int32_t value) -{ - int result = tnt_update_assign(stream, field, (char *)&value, sizeof(value)); - if (result < 0) - fail_tnt_error("tnt_update_assign", result); -} - -void -update_set_str(struct tnt_stream *stream, int32_t field, char *str) -{ - int result = tnt_update_assign(stream, field, str, strlen(str)); - if (result < 0) - fail_tnt_error("tnt_update_assign", result); -} - -void -update_splice_str(struct tnt_stream *stream, int32_t field, int32_t offset, int32_t length, - char *list) -{ - int result = tnt_update_splice(stream, field, offset, length, list, - strlen(list)); - if (result < 0) - fail_tnt_error("tnt_update_splice", result); -} - -void -update_delete_field(struct tnt_stream *stream, int32_t field) -{ - int result = tnt_update_delete(stream, field); - if (result < 0) - fail_tnt_error("tnt_update_delete", result); -} - -void -update_insert_i32(struct tnt_stream *stream, int32_t field, int32_t value) -{ - int result = tnt_update_insert(stream, field, (char *)&value, - sizeof(value)); - if (result < 0) - fail_tnt_error("tnt_update_insert", result); -} - -void -update_insert_str(struct tnt_stream *stream, int32_t field, char *str) -{ - int result = tnt_update_insert(stream, field, str, strlen(str)); - if (result < 0) - fail_tnt_error("tnt_update_insert_before", result); -} - -void -recv_command(char *command) -{ - struct tnt_iter i; - tnt_iter_reply(&i, tnt); - while (tnt_next(&i)) { - struct tnt_reply *r = TNT_IREPLY_PTR(&i); - printf("%s: respond %s (op: %"PRIu32", reqid: %"PRIu32", code: %"PRIu32", count: %"PRIu32")\n", - command, tnt_strerror(tnt), - r->op, - r->reqid, - r->code, - r->count); - struct tnt_iter it; - tnt_iter_list(&it, TNT_REPLY_LIST(r)); - while (tnt_next(&it)) { - struct tnt_tuple *tu = TNT_ILIST_TUPLE(&it); - print_tuple(tu); - } - tnt_iter_free(&it); - } - if (i.status == TNT_ITER_FAIL) - fail_tnt_perror("tnt_next"); - tnt_iter_free(&i); -} - -void -print_tuple(struct tnt_tuple *tuple) -{ - bool is_first = true; - printf("("); - - struct tnt_iter ifl; - tnt_iter(&ifl, tuple); - while (tnt_next(&ifl)) { - char *data = TNT_IFIELD_DATA(&ifl); - uint32_t size = TNT_IFIELD_SIZE(&ifl); - if (!is_first) { - printf(", "); - } - is_first = false; - - switch(size) { - case 1: - printf("%"PRIi8" (0x%02"PRIx8")", *(int8_t *)data, *(int8_t *)data); - break; - case 2: - printf("%"PRIi16" (0x%04"PRIx16")", *(int16_t *)data, *(int16_t *)data); - break; - case 4: - printf("%"PRIi32" (0x%08"PRIx32")", *(int32_t *)data, *(int32_t *)data); - break; - case 8: - printf("%"PRIi64" (0x%016"PRIx64")", *(int64_t *)data, *(int64_t *)data); - break; - default: - printf("'%.*s'", size, data); - break; - } - } - fail_if(ifl.status == TNT_ITER_FAIL); - tnt_iter_free(&ifl); - printf(")\n"); -} - - -/*-------------------------------------------------------------------------- - * test suite functions - *--------------------------------------------------------------------------*/ - -void -test_suite_setup() -{ - tnt = tnt_net(NULL); - fail_if(tnt == NULL); - - tnt_set(tnt, TNT_OPT_HOSTNAME, "localhost"); - tnt_set(tnt, TNT_OPT_PORT, 33013); - tnt_set(tnt, TNT_OPT_SEND_BUF, 128000); - - if (tnt_init(tnt) == -1) - fail_tnt_perror("tnt_init"); - if (tnt_connect(tnt) == -1) - fail_tnt_perror("tnt_connect"); -} - -void -test_suite_tear_down() -{ - tnt_stream_free(tnt); -} - -void -fail_tnt_error(char *msg, int error_code) -{ - printf("fail: %s: %i\n", msg, error_code); - exit(EXIT_FAILURE); -} - -void -fail_tnt_perror(char *msg) -{ - printf("fail: %s: %s\n", msg, tnt_strerror(tnt)); - exit(EXIT_FAILURE); -} - - -/*-------------------------------------------------------------------------- - * test cases functions - *--------------------------------------------------------------------------*/ - -void -test_simple_set() -{ - header(); - - /* insert tuple */ - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%d%d%s", 1, 2, 0, ""); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test simple set field\n"); - struct tnt_stream *stream = tnt_buf(NULL); - update_set_str(stream, 1, "new field value"); - update_set_str(stream, 2, ""); - update_set_str(stream, 3, "fLaC"); - update(1, stream); - tnt_stream_free(stream); - - printf("# set field\n"); - stream = tnt_buf(NULL); - update_set_str(stream, 1, "value?"); - update_set_str(stream, 1, "very very very very very long field value?"); - update_set_str(stream, 1, "field's new value"); - update(1, stream); - tnt_stream_free(stream); - - stream = tnt_buf(NULL); - printf("# test set primary key\n"); - update_set_i32(stream, 0, 2); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_long_set() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%s%s%s", - 1, "first", "", "third"); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test set big value in empty field\n"); - struct tnt_stream *stream = tnt_buf(NULL); - update_set_str(stream, 2, long_string); - update(1, stream); - tnt_stream_free(stream); - - printf("# test replace long value to short\n"); - stream = tnt_buf(NULL); - update_set_str(stream, 2, "short string"); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_append() -{ - header(); - - /* insert tuple */ - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%s", 1, "first"); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - /* test append field */ - struct tnt_stream *stream = tnt_buf(NULL); - printf("# test append field\n"); - update_set_str(stream, 2, "second"); - update(1, stream); - tnt_stream_free(stream); - - /* test multi append field */ - stream = tnt_buf(NULL); - printf("# test multi append\n"); - update_set_str(stream, 3, "3"); - update_set_str(stream, 3, "new field value"); - update_set_str(stream, 3, "other new field value"); - update_set_str(stream, 3, "third"); - update(1, stream); - tnt_stream_free(stream); - - /* test append many field */ - stream = tnt_buf(NULL); - printf("# test append many fields\n"); - update_set_str(stream, 4, "fourth"); - update_set_str(stream, 5, "fifth"); - update_set_str(stream, 6, "sixth"); - update_set_str(stream, 7, "seventh"); - update_set_str(stream, 8, long_string); - update(1, stream); - tnt_stream_free(stream); - - /* test append and change field */ - stream = tnt_buf(NULL); - printf("# test append and change field\n"); - update_set_str(stream, 9, long_string); - update_splice_str(stream, 9, 1, 544, "ac"); - tnt_update_arith_i32(stream, 9, TNT_UPDATE_XOR, 0x3ffffff); - tnt_update_arith_i32(stream, 9, TNT_UPDATE_ADD, 1024); - update(1, stream); - tnt_stream_free(stream); - - /* test set to not an exist field */ - stream = tnt_buf(NULL); - printf("# test set to not an exist field\n"); - update_set_str(stream, 0xDEADBEEF, "invalid!"); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_arith_i32() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%d%d%d", 1, 2, 0, 0); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test add\n"); - struct tnt_stream *stream = tnt_buf(NULL); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 16); - update(1, stream); - tnt_stream_free(stream); - - printf("# test overflow add\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, INT32_MAX); - update(1, stream); - tnt_stream_free(stream); - - printf("# test underflow add\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, INT32_MIN); - update(1, stream); - tnt_stream_free(stream); - - printf("# test or\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i32(stream, 2, TNT_UPDATE_OR, 0xbacfbacf); - tnt_update_arith_i32(stream, 3, TNT_UPDATE_OR, 0xfabcfabc); - update(1, stream); - tnt_stream_free(stream); - - printf("# test xor\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i32(stream, 2, TNT_UPDATE_XOR, 0xffffffff); - tnt_update_arith_i32(stream, 3, TNT_UPDATE_XOR, 0xffffffff); - update(1, stream); - tnt_stream_free(stream); - - printf("# test and\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i32(stream, 2, TNT_UPDATE_AND, 0xf0f0f0f0); - tnt_update_arith_i32(stream, 3, TNT_UPDATE_AND, 0x0f0f0f0f); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -/** update fields test case: 64-bit arithmetics operations test */ -void -test_arith_i64() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%ll%ll%ll", 1, 2, 0, 0, 0); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test add\n"); - struct tnt_stream *stream = tnt_buf(NULL); - tnt_update_arith_i64(stream, 1, TNT_UPDATE_ADD, 16); - update(1, stream); - tnt_stream_free(stream); - - printf("# test overflow add\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i64(stream, 1, TNT_UPDATE_ADD, INT64_MAX); - update(1, stream); - tnt_stream_free(stream); - - printf("# test underflow add\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i64(stream, 1, TNT_UPDATE_ADD, INT64_MIN); - update(1, stream); - tnt_stream_free(stream); - - printf("# test or\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i64(stream, 2, TNT_UPDATE_OR, 0xbacfbacfbacfbacf); - tnt_update_arith_i64(stream, 3, TNT_UPDATE_OR, 0xfabcfabcfabcfabc); - update(1, stream); - tnt_stream_free(stream); - - printf("# test xor\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i64(stream, 2, TNT_UPDATE_XOR, 0xffffffffffffffff); - tnt_update_arith_i64(stream, 3, TNT_UPDATE_XOR, 0xffffffffffffffff); - update(1, stream); - tnt_stream_free(stream); - - printf("# test and\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i64(stream, 2, TNT_UPDATE_AND, 0xf0f0f0f0f0f0f0f0); - tnt_update_arith_i64(stream, 3, TNT_UPDATE_AND, 0x0f0f0f0f0f0f0f0f); - update(1, stream); - tnt_stream_free(stream); - - printf("# test casting 32-bit operand to 64-bit\n"); - stream = tnt_buf(NULL); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 16); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_multi_arith() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%s%d%s", 1, "first", 128, "third"); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test simple and\n"); - struct tnt_stream *stream = tnt_buf(NULL); - update_set_i32(stream, 2, 0); - update_set_str(stream, 1, "first field new value"); - tnt_update_arith_i32(stream, 2, TNT_UPDATE_XOR, 0xF00F); - update_set_str(stream, 3, "third field new value"); - tnt_update_arith_i32(stream, 2, TNT_UPDATE_OR, 0xF00F); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_splice() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%s%s%s", 1, "first", "hi, this is a test string!", "third"); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - struct tnt_stream *stream = tnt_buf(NULL); - printf("# test cut from begin\n"); - update_splice_str(stream, 2, 0, 4, ""); - update(1, stream); - tnt_stream_free(stream); - - printf("# test cut from middle\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 2, 9, -8, ""); - update(1, stream); - tnt_stream_free(stream); - - printf("# test cut from end\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 2, -1, 1, ""); - update(1, stream); - tnt_stream_free(stream); - - printf("# test insert before begin\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 2, 0, 0, "Bonjour, "); - update(1, stream); - tnt_stream_free(stream); - - printf("# test insert after end\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 2, 10000, 0, " o_O!?"); - update(1, stream); - tnt_stream_free(stream); - - printf("# test replace in begin\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 2, 0, 7, "Hello"); - update(1, stream); - tnt_stream_free(stream); - - printf("# test replace in middle\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 2, 17, -6, "field"); - update(1, stream); - tnt_stream_free(stream); - - printf("# test replace in end\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 2, -6, 4, "! Is this Sparta"); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_set_and_splice() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%s%s%s", 1, - "first", - "hi, this is a test string!", - "third"); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test set long string and splice to short\n"); - struct tnt_stream *stream = tnt_buf(NULL); - update_set_str(stream, 2, long_string); - update_splice_str(stream, 2, 45, 500, " away away away"); - update(1, stream); - tnt_stream_free(stream); - - printf("# test set short value and splice to long\n"); - stream = tnt_buf(NULL); - update_set_str(stream, 2, "test"); - update_splice_str(stream, 2, -4, 4, long_string); - update(1, stream); - tnt_stream_free(stream); - - printf("# test splice to long and set to short\n"); - stream = tnt_buf(NULL); - update_splice_str(stream, 3, -5, 5, long_string); - update_set_str(stream, 2, "short name"); - update(1, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_delete_field() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%s%s%s%d%d%d%d%d%d%d%d%d%d", - 1, - "first", - "hi, this is a test string!", - "third", - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test simple delete fields\n"); - struct tnt_stream *stream = tnt_buf(NULL); - update_delete_field(stream, 2); - update(1, stream); - tnt_stream_free(stream); - - printf("# test useless operations with delete fields\n"); - stream = tnt_buf(NULL); - update_set_i32(stream, 1, 0); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - update_delete_field(stream, 1); - update(1, stream); - tnt_stream_free(stream); - - printf("# test multi delete fields\n"); - stream = tnt_buf(NULL); - update_delete_field(stream, 2); - update_delete_field(stream, 3); - update_delete_field(stream, 4); - update_delete_field(stream, 5); - update_delete_field(stream, 6); - update_delete_field(stream, 7); - update_delete_field(stream, 8); - update_delete_field(stream, 9); - update_delete_field(stream, 10); - update(1, stream); - tnt_stream_free(stream); - - printf("# test multi delete fields\n"); - stream = tnt_buf(NULL); - update_delete_field(stream, 1); - update_set_i32(stream, 1, 3); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - update(1, stream); - tnt_stream_free(stream); - - printf("# test append and delete\n"); - stream = tnt_buf(NULL); - update_set_str(stream, 3, "second"); - update_delete_field(stream, 3); - update_set_str(stream, 3, "third"); - update_set_str(stream, 4, "third"); - update_delete_field(stream, 4); - update_set_str(stream, 4, "third"); - update_set_str(stream, 4, "fourth"); - update_set_str(stream, 5, "fifth"); - update_set_str(stream, 6, "sixth"); - update_set_str(stream, 7, "seventh"); - update_set_str(stream, 8, "eighth"); - update_set_str(stream, 9, "ninth"); - update_delete_field(stream, 7); - update_delete_field(stream, 6); - update(1, stream); - tnt_stream_free(stream); - - printf("# test double delete\n"); - stream = tnt_buf(NULL); - update_delete_field(stream, 3); - update_delete_field(stream, 3); - update(1, stream); - tnt_stream_free(stream); - select_tuple(1); - - printf("# test delete not an exist field\n"); - stream = tnt_buf(NULL); - update_delete_field(stream, 0xDEADBEEF); - update(1, stream); - tnt_stream_free(stream); - select_tuple(1); - - footer(); -} - -void -test_insert_field() -{ - header(); - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%s", 9, "eleven"); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# insert new field before primary key\n"); - struct tnt_stream *stream = tnt_buf(NULL); - update_insert_i32(stream, 0, 7); - update_insert_i32(stream, 0, 8); - update(9, stream); - tnt_stream_free(stream); - - printf("# insert a new field before last field\n"); - stream = tnt_buf(NULL); - update_insert_i32(stream, 3, 10); - update(7, stream); - tnt_stream_free(stream); - - printf("# double insert at the end\n"); - stream = tnt_buf(NULL); - update_set_i32(stream, 5, 14); - update_insert_i32(stream, 6, 12); - update_insert_i32(stream, 5, 13); - update(7, stream); - tnt_stream_free(stream); - - printf("# multi insert \n"); - stream = tnt_buf(NULL); - update_insert_i32(stream, 5, 15); - update_insert_i32(stream, 5, 14); - update_insert_i32(stream, 5, 13); - update_insert_i32(stream, 5, 12); - update(7, stream); - tnt_stream_free(stream); - - printf("# insert before next to last field\n"); - stream = tnt_buf(NULL); - update_insert_i32(stream, 8, 15); - update(7, stream); - tnt_stream_free(stream); - - printf("# insert before next to last field\n"); - stream = tnt_buf(NULL); - update_set_i32(stream, 9, 17); - update_insert_i32(stream, 9, 16); - update_set_i32(stream, 10, 19); - update_insert_i32(stream, 10, 18); - update(7, stream); - tnt_stream_free(stream); - - printf("# insert second tuple\n"); - tuple = tnt_tuple(NULL, "%d%s%d", 0, "one", 11); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - stream = tnt_buf(NULL); - printf("# multi insert\n"); - update_set_i32(stream, 1, -11); - tnt_update_arith(stream, 1, TNT_UPDATE_ADD, 1); - update_insert_i32(stream, 1, 1); - tnt_update_arith(stream, 1, TNT_UPDATE_ADD, 2); - update_insert_i32(stream, 1, 2); - update_insert_i32(stream, 1, 3); - tnt_update_arith(stream, 1, TNT_UPDATE_ADD, 3); - tnt_update_arith(stream, 1, TNT_UPDATE_ADD, 4); - tnt_update_arith(stream, 1, TNT_UPDATE_ADD, 5); - update_insert_i32(stream, 1, 4); - update_insert_i32(stream, 1, 5); - tnt_update_arith(stream, 1, TNT_UPDATE_ADD, 6); - update_insert_i32(stream, 1, 6); - update_insert_i32(stream, 1, 7); - update_insert_i32(stream, 1, 8); - update_insert_i32(stream, 1, 9); - update(0, stream); - tnt_stream_free(stream); - - printf("# insert before invalid field number\n"); - stream = tnt_buf(NULL); - update_insert_str(stream, 100000, "ooppps!"); - update(7, stream); - tnt_stream_free(stream); - - footer(); -} - -void -test_boundary_args() -{ - header(); - - const int max_update_op_cnt = 4000; - - printf("# insert tuple\n"); - struct tnt_tuple *tuple = tnt_tuple(NULL, "%d%d", 0, 1); - insert_tuple(tuple); - tnt_tuple_free(tuple); - - printf("# test: try to do update w/o operations\n"); - struct tnt_stream *stream = tnt_buf(NULL); - update(0, stream); - tnt_stream_free(stream); - - printf("# test: update w/ maximal allowed opearions count\n"); - stream = tnt_buf(NULL); - for (int i = 0; i < max_update_op_cnt; ++i) - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - update(0, stream); - tnt_stream_free(stream); - - printf("# test: update w/ grater than maximal allowed opearions count\n"); - stream = tnt_buf(NULL); - for (int i = 0; i < max_update_op_cnt + 1; ++i) - tnt_update_arith_i32(stream, 1, TNT_UPDATE_ADD, 1); - update(0, stream); - tnt_stream_free(stream); - - footer(); -} diff --git a/test/connector_c/update.result b/test/connector_c/update.result deleted file mode 100644 index e1d2b52a7983a84acfedb14a9881c9c97cbe021e..0000000000000000000000000000000000000000 --- a/test/connector_c/update.result +++ /dev/null @@ -1,291 +0,0 @@ -box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum') ---- -- [0, 0, 'tweedledum'] -... -box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str') ---- -- [0, 0, 'primary', 1752392040, 1, 1, 0, 'str'] -... - *** test_simple_set *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 2 (0x00000002), 0 (0x00000000), '') -# test simple set field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'new field value', '', 1130450022 (0x43614c66)) -# set field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'field's new value', '', 1130450022 (0x43614c66)) -# test set primary key -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(2 (0x00000002), 'field's new value', '', 1130450022 (0x43614c66)) - *** test_simple_set: done *** - *** test_long_set *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', '', 'third') -# test set big value in empty field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'A long time ago, in a galaxy far, far away... -It is a period of civil war. Rebel -spaceships, striking from a hidden -base, have won their first victory -against the evil Galactic Empire. -During the battle, Rebel spies managed -to steal secret plans to the Empire's -ultimate weapon, the Death Star, an -armored space station with enough -power to destroy an entire planet. -Pursued by the Empire's sinister agents, -Princess Leia races home aboard her -starship, custodian of the stolen plans -that can save her people and restore -freedom to the galaxy....', 'third') -# test replace long value to short -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'short string', 'third') - *** test_long_set: done *** - *** test_append *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first') -# test append field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'second') -# test multi append -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'second', 'third') -# test append many fields -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'A long time ago, in a galaxy far, far away... -It is a period of civil war. Rebel -spaceships, striking from a hidden -base, have won their first victory -against the evil Galactic Empire. -During the battle, Rebel spies managed -to steal secret plans to the Empire's -ultimate weapon, the Death Star, an -armored space station with enough -power to destroy an entire planet. -Pursued by the Empire's sinister agents, -Princess Leia races home aboard her -starship, custodian of the stolen plans -that can save her people and restore -freedom to the galaxy....') -# test append and change field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'A long time ago, in a galaxy far, far away... -It is a period of civil war. Rebel -spaceships, striking from a hidden -base, have won their first victory -against the evil Galactic Empire. -During the battle, Rebel spies managed -to steal secret plans to the Empire's -ultimate weapon, the Death Star, an -armored space station with enough -power to destroy an entire planet. -Pursued by the Empire's sinister agents, -Princess Leia races home aboard her -starship, custodian of the stolen plans -that can save her people and restore -freedom to the galaxy....', 765239998 (0x2d9ca2be)) -# test set to not an exist field -update fields: respond ok (op: 19, reqid: 0, code: 13826, count: 0) - *** test_append: done *** - *** test_arith_i32 *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 2 (0x00000002), 0 (0x00000000), 0 (0x00000000)) -# test add -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 18 (0x00000012), 0 (0x00000000), 0 (0x00000000)) -# test overflow add -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), -2147483631 (0x80000011), 0 (0x00000000), 0 (0x00000000)) -# test underflow add -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x00000011), 0 (0x00000000), 0 (0x00000000)) -# test or -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x00000011), -1160791345 (0xbacfbacf), -88278340 (0xfabcfabc)) -# test xor -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x00000011), 1160791344 (0x45304530), 88278339 (0x05430543)) -# test and -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x00000011), 1076903984 (0x40304030), 84083971 (0x05030503)) - *** test_arith_i32: done *** - *** test_arith_i64 *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 2 (0x0000000000000002), 0 (0x0000000000000000), 0 (0x0000000000000000)) -# test add -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 18 (0x0000000000000012), 0 (0x0000000000000000), 0 (0x0000000000000000)) -# test overflow add -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), -9223372036854775791 (0x8000000000000011), 0 (0x0000000000000000), 0 (0x0000000000000000)) -# test underflow add -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x0000000000000011), 0 (0x0000000000000000), 0 (0x0000000000000000)) -# test or -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x0000000000000011), -4985560861120677169 (0xbacfbacfbacfbacf), -379152579038479684 (0xfabcfabcfabcfabc)) -# test xor -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x0000000000000011), 4985560861120677168 (0x4530453045304530), 379152579038479683 (0x0543054305430543)) -# test and -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 17 (0x0000000000000011), 4625267393289011248 (0x4030403040304030), 361137905646896387 (0x0503050305030503)) -# test casting 32-bit operand to 64-bit -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 33 (0x0000000000000021), 4625267393289011248 (0x4030403040304030), 361137905646896387 (0x0503050305030503)) - *** test_arith_i64: done *** - *** test_multi_arith *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 128 (0x00000080), 'third') -# test simple and -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first field new value', 61455 (0x0000f00f), 'third field new value') - *** test_multi_arith: done *** - *** test_splice *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'hi, this is a test string!', 'third') -# test cut from begin -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'this is a test string!', 'third') -# test cut from middle -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'this is a string!', 'third') -# test cut from end -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'this is a string', 'third') -# test insert before begin -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'Bonjour, this is a string', 'third') -# test insert after end -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'Bonjour, this is a string o_O!?', 'third') -# test replace in begin -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'Hello, this is a string o_O!?', 'third') -# test replace in middle -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'Hello, this is a field o_O!?', 'third') -# test replace in end -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'Hello, this is a field! Is this Sparta!?', 'third') - *** test_splice: done *** - *** test_set_and_splice *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'hi, this is a test string!', 'third') -# test set long string and splice to short -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'A long time ago, in a galaxy far, far away... away away away.', 'third') -# test set short value and splice to long -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'A long time ago, in a galaxy far, far away... -It is a period of civil war. Rebel -spaceships, striking from a hidden -base, have won their first victory -against the evil Galactic Empire. -During the battle, Rebel spies managed -to steal secret plans to the Empire's -ultimate weapon, the Death Star, an -armored space station with enough -power to destroy an entire planet. -Pursued by the Empire's sinister agents, -Princess Leia races home aboard her -starship, custodian of the stolen plans -that can save her people and restore -freedom to the galaxy....', 'third') -# test splice to long and set to short -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'short name', 'A long time ago, in a galaxy far, far away... -It is a period of civil war. Rebel -spaceships, striking from a hidden -base, have won their first victory -against the evil Galactic Empire. -During the battle, Rebel spies managed -to steal secret plans to the Empire's -ultimate weapon, the Death Star, an -armored space station with enough -power to destroy an entire planet. -Pursued by the Empire's sinister agents, -Princess Leia races home aboard her -starship, custodian of the stolen plans -that can save her people and restore -freedom to the galaxy....') - *** test_set_and_splice: done *** - *** test_delete_field *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'hi, this is a test string!', 'third', 1 (0x00000001), 2 (0x00000002), 3 (0x00000003), 4 (0x00000004), 5 (0x00000005), 6 (0x00000006), 7 (0x00000007), 8 (0x00000008), 9 (0x00000009), 10 (0x0000000a)) -# test simple delete fields -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'first', 'third', 1 (0x00000001), 2 (0x00000002), 3 (0x00000003), 4 (0x00000004), 5 (0x00000005), 6 (0x00000006), 7 (0x00000007), 8 (0x00000008), 9 (0x00000009), 10 (0x0000000a)) -# test useless operations with delete fields -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 'third', 1 (0x00000001), 2 (0x00000002), 3 (0x00000003), 4 (0x00000004), 5 (0x00000005), 6 (0x00000006), 7 (0x00000007), 8 (0x00000008), 9 (0x00000009), 10 (0x0000000a)) -# test multi delete fields -update fields: respond ok (op: 19, reqid: 0, code: 13826, count: 0) -# test multi delete fields -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 9 (0x00000009), 2 (0x00000002), 3 (0x00000003), 4 (0x00000004), 5 (0x00000005), 6 (0x00000006), 7 (0x00000007), 8 (0x00000008), 9 (0x00000009), 10 (0x0000000a)) -# test append and delete -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 9 (0x00000009), 2 (0x00000002), 'third', 'fourth', 'fifth', 'eighth', 'ninth') -# test double delete -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 9 (0x00000009), 2 (0x00000002), 'fifth', 'eighth', 'ninth') -select: respond ok (op: 17, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 9 (0x00000009), 2 (0x00000002), 'fifth', 'eighth', 'ninth') -# test delete not an exist field -update fields: respond ok (op: 19, reqid: 0, code: 13826, count: 0) -select: respond ok (op: 17, reqid: 0, code: 0, count: 1) -(1 (0x00000001), 9 (0x00000009), 2 (0x00000002), 'fifth', 'eighth', 'ninth') - *** test_delete_field: done *** - *** test_insert_field *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(9 (0x00000009), 'eleven') -# insert new field before primary key -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(8 (0x00000008), 7 (0x00000007), 9 (0x00000009), 'eleven') -# insert a new field before last field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 0) -# double insert at the end -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 0) -# multi insert -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 0) -# insert before next to last field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 0) -# insert before next to last field -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 0) -# insert second tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(0 (0x00000000), 'one', 11 (0x0000000b)) -# multi insert -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(0 (0x00000000), 9 (0x00000009), 8 (0x00000008), 7 (0x00000007), 6 (0x00000006), 11 (0x0000000b), 4 (0x00000004), 15 (0x0000000f), 2 (0x00000002), 3 (0x00000003), -10 (0xfffffff6), 11 (0x0000000b)) -# insert before invalid field number -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 0) - *** test_insert_field: done *** - *** test_boundary_args *** -# insert tuple -insert: respond ok (op: 13, reqid: 0, code: 0, count: 1) -(0 (0x00000000), 1 (0x00000001)) -# test: try to do update w/o operations -update fields: respond ok (op: 19, reqid: 0, code: 514, count: 0) -# test: update w/ maximal allowed opearions count -update fields: respond ok (op: 19, reqid: 0, code: 0, count: 1) -(0 (0x00000000), 4001 (0x00000fa1)) -# test: update w/ grater than maximal allowed opearions count -update fields: respond ok (op: 19, reqid: 0, code: 514, count: 0) - *** test_boundary_args: done *** - box.space[0]:drop() ---- -... diff --git a/test/connector_c/update.test.py b/test/connector_c/update.test.py deleted file mode 100644 index 991105195dd41128b8569596cdcd108eea5676e1..0000000000000000000000000000000000000000 --- a/test/connector_c/update.test.py +++ /dev/null @@ -1,20 +0,0 @@ -import subprocess -import sys -import os - -admin("box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')") -admin("box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str')") - -p = subprocess.Popen([ os.path.join(builddir, "test/connector_c/update") ], stdout=subprocess.PIPE) -p.wait() -for line in p.stdout.readlines(): - sys.stdout.write(line) - -# resore default suite -#server.stop() -#server.deploy(self.suite_ini["config"]) -#server.start() - -admin("box.space[0]:drop()") - -# vim: syntax=python diff --git a/test/connector_c/xlog.c b/test/connector_c/xlog.c deleted file mode 100644 index b7543509e50512c665e272e69674a0122020ef19..0000000000000000000000000000000000000000 --- a/test/connector_c/xlog.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * 1. Redistributions of source code must retain the above - * copyright notice, this list of conditions and the - * following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - * <COPYRIGHT HOLDER> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#include <stdlib.h> -#include <stdint.h> -#include <inttypes.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> - -#include <connector/c/include/tarantool/tnt.h> -#include <connector/c/include/tarantool/tnt_net.h> -#include <connector/c/include/tarantool/tnt_xlog.h> -#include <connector/c/include/tarantool/tnt_rpl.h> - -static char *opname(uint32_t type) { - switch (type) { - case TNT_OP_PING: return "Ping"; - case TNT_OP_INSERT: return "Insert"; - case TNT_OP_DELETE: return "Delete"; - case TNT_OP_UPDATE: return "Update"; - case TNT_OP_SELECT: return "Select"; - case TNT_OP_CALL: return "Call"; - } - return "Unknown"; -} - -int -main(int argc, char * argv[]) -{ - if (argc != 2) - return 1; - - struct tnt_stream s; - tnt_xlog(&s); - - if (tnt_xlog_open(&s, argv[1]) == -1) - return 1; - - struct tnt_iter i; - tnt_iter_request(&i, &s); - - while (tnt_next(&i)) { - struct tnt_stream_xlog *sx = TNT_SXLOG_CAST(&s); - printf("%s lsn: %"PRIu64", time: %f, len: %d\n", - opname(sx->log.current.row.op), - sx->log.current.hdr.lsn, - sx->log.current.hdr.tm, - sx->log.current.hdr.len); - } - if (i.status == TNT_ITER_FAIL) - printf("parsing failed: %s\n", tnt_xlog_strerror(&s)); - - tnt_iter_free(&i); - tnt_stream_free(&s); - return 0; -} diff --git a/test/connector_c/xlog_rpl.result b/test/connector_c/xlog_rpl.result deleted file mode 100644 index 890faaeabe641e0f98f7ef2e874ad1a28787dfe9..0000000000000000000000000000000000000000 --- a/test/connector_c/xlog_rpl.result +++ /dev/null @@ -1,2401 +0,0 @@ -Insert lsn: 2, time: 1338903440.187947, len: 68 -Insert lsn: 3, time: 1338903440.190419, len: 68 -Insert lsn: 4, time: 1338903440.190539, len: 68 -Insert lsn: 5, time: 1338903440.190582, len: 68 -Insert lsn: 6, time: 1338903440.190608, len: 68 -Insert lsn: 7, time: 1338903440.190633, len: 68 -Insert lsn: 8, time: 1338903440.190657, len: 68 -Insert lsn: 9, time: 1338903440.190681, len: 68 -Insert lsn: 10, time: 1338903440.190712, len: 68 -Insert lsn: 11, time: 1338903440.190736, len: 68 -Insert lsn: 12, time: 1338903440.190762, len: 69 -Insert lsn: 13, time: 1338903440.190785, len: 69 -Insert lsn: 14, time: 1338903440.190810, len: 69 -Insert lsn: 15, time: 1338903440.190834, len: 69 -Insert lsn: 16, time: 1338903440.190858, len: 69 -Insert lsn: 17, time: 1338903440.190883, len: 69 -Insert lsn: 18, time: 1338903440.190908, len: 69 -Insert lsn: 19, time: 1338903440.190942, len: 69 -Insert lsn: 20, time: 1338903440.190967, len: 69 -Insert lsn: 21, time: 1338903440.190992, len: 69 -Insert lsn: 22, time: 1338903440.191015, len: 69 -Insert lsn: 23, time: 1338903440.191040, len: 69 -Insert lsn: 24, time: 1338903440.191064, len: 69 -Insert lsn: 25, time: 1338903440.191088, len: 69 -Insert lsn: 26, time: 1338903440.191112, len: 69 -Insert lsn: 27, time: 1338903440.191138, len: 69 -Insert lsn: 28, time: 1338903440.191163, len: 69 -Insert lsn: 29, time: 1338903440.191188, len: 69 -Insert lsn: 30, time: 1338903440.191213, len: 69 -Insert lsn: 31, time: 1338903440.191238, len: 69 -Insert lsn: 32, time: 1338903440.191262, len: 69 -Insert lsn: 33, time: 1338903440.191284, len: 69 -Insert lsn: 34, time: 1338903440.191319, len: 69 -Insert lsn: 35, time: 1338903440.191344, len: 69 -Insert lsn: 36, time: 1338903440.191369, len: 69 -Insert lsn: 37, time: 1338903440.191393, len: 69 -Insert lsn: 38, time: 1338903440.191417, len: 69 -Insert lsn: 39, time: 1338903440.191441, len: 69 -Insert lsn: 40, time: 1338903440.191479, len: 69 -Insert lsn: 41, time: 1338903440.191503, len: 69 -Insert lsn: 42, time: 1338903440.191526, len: 69 -Insert lsn: 43, time: 1338903440.191603, len: 69 -Insert lsn: 44, time: 1338903440.191632, len: 69 -Insert lsn: 45, time: 1338903440.191655, len: 69 -Insert lsn: 46, time: 1338903440.191681, len: 69 -Insert lsn: 47, time: 1338903440.191704, len: 69 -Insert lsn: 48, time: 1338903440.191727, len: 69 -Insert lsn: 49, time: 1338903440.191750, len: 69 -Insert lsn: 50, time: 1338903440.191774, len: 69 -Insert lsn: 51, time: 1338903440.191797, len: 69 -Insert lsn: 52, time: 1338903440.191820, len: 69 -Insert lsn: 53, time: 1338903440.191844, len: 69 -Insert lsn: 54, time: 1338903440.191874, len: 69 -Insert lsn: 55, time: 1338903440.191897, len: 69 -Insert lsn: 56, time: 1338903440.191921, len: 69 -Insert lsn: 57, time: 1338903440.191944, len: 69 -Insert lsn: 58, time: 1338903440.191967, len: 69 -Insert lsn: 59, time: 1338903440.191992, len: 69 -Insert lsn: 60, time: 1338903440.192016, len: 69 -Insert lsn: 61, time: 1338903440.192039, len: 69 -Insert lsn: 62, time: 1338903440.192063, len: 69 -Insert lsn: 63, time: 1338903440.192086, len: 69 -Insert lsn: 64, time: 1338903440.192111, len: 69 -Insert lsn: 65, time: 1338903440.192134, len: 69 -Insert lsn: 66, time: 1338903440.192164, len: 69 -Insert lsn: 67, time: 1338903440.192188, len: 69 -Insert lsn: 68, time: 1338903440.192212, len: 69 -Insert lsn: 69, time: 1338903440.192235, len: 69 -Insert lsn: 70, time: 1338903440.192278, len: 69 -Insert lsn: 71, time: 1338903440.192302, len: 69 -Insert lsn: 72, time: 1338903440.192327, len: 69 -Insert lsn: 73, time: 1338903440.192351, len: 69 -Insert lsn: 74, time: 1338903440.192376, len: 69 -Insert lsn: 75, time: 1338903440.192401, len: 69 -Insert lsn: 76, time: 1338903440.192424, len: 69 -Insert lsn: 77, time: 1338903440.192449, len: 69 -Insert lsn: 78, time: 1338903440.192473, len: 69 -Insert lsn: 79, time: 1338903440.192497, len: 69 -Insert lsn: 80, time: 1338903440.192521, len: 69 -Insert lsn: 81, time: 1338903440.192545, len: 69 -Insert lsn: 82, time: 1338903440.192569, len: 69 -Insert lsn: 83, time: 1338903440.192593, len: 69 -Insert lsn: 84, time: 1338903440.192642, len: 69 -Insert lsn: 85, time: 1338903440.192670, len: 69 -Insert lsn: 86, time: 1338903440.192701, len: 69 -Insert lsn: 87, time: 1338903440.192726, len: 69 -Insert lsn: 88, time: 1338903440.192749, len: 69 -Insert lsn: 89, time: 1338903440.192773, len: 69 -Insert lsn: 90, time: 1338903440.192798, len: 69 -Insert lsn: 91, time: 1338903440.192822, len: 69 -Insert lsn: 92, time: 1338903440.192846, len: 69 -Insert lsn: 93, time: 1338903440.192871, len: 69 -Insert lsn: 94, time: 1338903440.192896, len: 69 -Insert lsn: 95, time: 1338903440.192921, len: 69 -Insert lsn: 96, time: 1338903440.192946, len: 69 -Insert lsn: 97, time: 1338903440.192970, len: 69 -Insert lsn: 98, time: 1338903440.192993, len: 69 -Insert lsn: 99, time: 1338903440.193017, len: 69 -Insert lsn: 100, time: 1338903440.193042, len: 69 -Insert lsn: 101, time: 1338903440.193065, len: 69 -Insert lsn: 102, time: 1338903440.193547, len: 100 -Insert lsn: 103, time: 1338903440.207494, len: 100 -Insert lsn: 104, time: 1338903440.207539, len: 100 -Insert lsn: 105, time: 1338903440.207564, len: 100 -Insert lsn: 106, time: 1338903440.207613, len: 100 -Insert lsn: 107, time: 1338903440.207639, len: 100 -Insert lsn: 108, time: 1338903440.207665, len: 100 -Insert lsn: 109, time: 1338903440.207690, len: 100 -Insert lsn: 110, time: 1338903440.207717, len: 100 -Insert lsn: 111, time: 1338903440.207745, len: 100 -Insert lsn: 112, time: 1338903440.207770, len: 101 -Insert lsn: 113, time: 1338903440.207795, len: 101 -Insert lsn: 114, time: 1338903440.207819, len: 101 -Insert lsn: 115, time: 1338903440.207844, len: 101 -Insert lsn: 116, time: 1338903440.207870, len: 101 -Insert lsn: 117, time: 1338903440.207895, len: 101 -Insert lsn: 118, time: 1338903440.207918, len: 101 -Insert lsn: 119, time: 1338903440.207976, len: 101 -Insert lsn: 120, time: 1338903440.208004, len: 101 -Insert lsn: 121, time: 1338903440.208029, len: 101 -Insert lsn: 122, time: 1338903440.208054, len: 101 -Insert lsn: 123, time: 1338903440.208078, len: 101 -Insert lsn: 124, time: 1338903440.208119, len: 101 -Insert lsn: 125, time: 1338903440.208144, len: 101 -Insert lsn: 126, time: 1338903440.208168, len: 101 -Insert lsn: 127, time: 1338903440.208193, len: 101 -Insert lsn: 128, time: 1338903440.208218, len: 101 -Insert lsn: 129, time: 1338903440.208291, len: 101 -Insert lsn: 130, time: 1338903440.208318, len: 101 -Insert lsn: 131, time: 1338903440.208343, len: 101 -Insert lsn: 132, time: 1338903440.208370, len: 101 -Insert lsn: 133, time: 1338903440.208396, len: 101 -Insert lsn: 134, time: 1338903440.208422, len: 101 -Insert lsn: 135, time: 1338903440.208447, len: 101 -Insert lsn: 136, time: 1338903440.208473, len: 101 -Insert lsn: 137, time: 1338903440.208499, len: 101 -Insert lsn: 138, time: 1338903440.208561, len: 101 -Insert lsn: 139, time: 1338903440.208586, len: 101 -Insert lsn: 140, time: 1338903440.208610, len: 101 -Insert lsn: 141, time: 1338903440.208634, len: 101 -Insert lsn: 142, time: 1338903440.208664, len: 101 -Insert lsn: 143, time: 1338903440.208688, len: 101 -Insert lsn: 144, time: 1338903440.208712, len: 101 -Insert lsn: 145, time: 1338903440.208735, len: 101 -Insert lsn: 146, time: 1338903440.208760, len: 101 -Insert lsn: 147, time: 1338903440.208783, len: 101 -Insert lsn: 148, time: 1338903440.208807, len: 101 -Insert lsn: 149, time: 1338903440.208831, len: 101 -Insert lsn: 150, time: 1338903440.208875, len: 101 -Insert lsn: 151, time: 1338903440.208900, len: 101 -Insert lsn: 152, time: 1338903440.208924, len: 101 -Insert lsn: 153, time: 1338903440.208947, len: 101 -Insert lsn: 154, time: 1338903440.208971, len: 101 -Insert lsn: 155, time: 1338903440.208994, len: 101 -Insert lsn: 156, time: 1338903440.209018, len: 101 -Insert lsn: 157, time: 1338903440.209043, len: 101 -Insert lsn: 158, time: 1338903440.209066, len: 101 -Insert lsn: 159, time: 1338903440.209090, len: 101 -Insert lsn: 160, time: 1338903440.209126, len: 101 -Insert lsn: 161, time: 1338903440.209151, len: 101 -Insert lsn: 162, time: 1338903440.209175, len: 101 -Insert lsn: 163, time: 1338903440.209199, len: 101 -Insert lsn: 164, time: 1338903440.209223, len: 101 -Insert lsn: 165, time: 1338903440.209247, len: 101 -Insert lsn: 166, time: 1338903440.209296, len: 101 -Insert lsn: 167, time: 1338903440.209320, len: 101 -Insert lsn: 168, time: 1338903440.209344, len: 101 -Insert lsn: 169, time: 1338903440.209367, len: 101 -Insert lsn: 170, time: 1338903440.209390, len: 101 -Insert lsn: 171, time: 1338903440.209414, len: 101 -Insert lsn: 172, time: 1338903440.209438, len: 101 -Insert lsn: 173, time: 1338903440.209461, len: 101 -Insert lsn: 174, time: 1338903440.209485, len: 101 -Insert lsn: 175, time: 1338903440.209509, len: 101 -Insert lsn: 176, time: 1338903440.209533, len: 101 -Insert lsn: 177, time: 1338903440.209564, len: 101 -Insert lsn: 178, time: 1338903440.209589, len: 101 -Insert lsn: 179, time: 1338903440.209613, len: 101 -Insert lsn: 180, time: 1338903440.209637, len: 101 -Insert lsn: 181, time: 1338903440.209678, len: 101 -Insert lsn: 182, time: 1338903440.209703, len: 101 -Insert lsn: 183, time: 1338903440.209745, len: 101 -Insert lsn: 184, time: 1338903440.209770, len: 101 -Insert lsn: 185, time: 1338903440.209794, len: 101 -Insert lsn: 186, time: 1338903440.209819, len: 101 -Insert lsn: 187, time: 1338903440.209842, len: 101 -Insert lsn: 188, time: 1338903440.209866, len: 101 -Insert lsn: 189, time: 1338903440.209889, len: 101 -Insert lsn: 190, time: 1338903440.209913, len: 101 -Insert lsn: 191, time: 1338903440.209937, len: 101 -Insert lsn: 192, time: 1338903440.209961, len: 101 -Insert lsn: 193, time: 1338903440.209985, len: 101 -Insert lsn: 194, time: 1338903440.210010, len: 101 -Insert lsn: 195, time: 1338903440.210041, len: 101 -Insert lsn: 196, time: 1338903440.210065, len: 101 -Insert lsn: 197, time: 1338903440.210088, len: 101 -Insert lsn: 198, time: 1338903440.210112, len: 101 -Insert lsn: 199, time: 1338903440.210135, len: 101 -Insert lsn: 200, time: 1338903440.210160, len: 101 -Insert lsn: 201, time: 1338903440.210183, len: 101 -Insert lsn: 202, time: 1338903440.210887, len: 166 -Insert lsn: 203, time: 1338903440.213901, len: 166 -Insert lsn: 204, time: 1338903440.213959, len: 166 -Insert lsn: 205, time: 1338903440.213986, len: 166 -Insert lsn: 206, time: 1338903440.214033, len: 166 -Insert lsn: 207, time: 1338903440.214060, len: 166 -Insert lsn: 208, time: 1338903440.214119, len: 166 -Insert lsn: 209, time: 1338903440.214145, len: 166 -Insert lsn: 210, time: 1338903440.214170, len: 166 -Insert lsn: 211, time: 1338903440.214196, len: 166 -Insert lsn: 212, time: 1338903440.214221, len: 167 -Insert lsn: 213, time: 1338903440.214246, len: 167 -Insert lsn: 214, time: 1338903440.214271, len: 167 -Insert lsn: 215, time: 1338903440.214297, len: 167 -Insert lsn: 216, time: 1338903440.214322, len: 167 -Insert lsn: 217, time: 1338903440.214347, len: 167 -Insert lsn: 218, time: 1338903440.214373, len: 167 -Insert lsn: 219, time: 1338903440.214398, len: 167 -Insert lsn: 220, time: 1338903440.214430, len: 167 -Insert lsn: 221, time: 1338903440.214456, len: 167 -Insert lsn: 222, time: 1338903440.214482, len: 167 -Insert lsn: 223, time: 1338903440.214507, len: 167 -Insert lsn: 224, time: 1338903440.214531, len: 167 -Insert lsn: 225, time: 1338903440.214556, len: 167 -Insert lsn: 226, time: 1338903440.214580, len: 167 -Insert lsn: 227, time: 1338903440.214604, len: 167 -Insert lsn: 228, time: 1338903440.214628, len: 167 -Insert lsn: 229, time: 1338903440.214673, len: 167 -Insert lsn: 230, time: 1338903440.214703, len: 167 -Insert lsn: 231, time: 1338903440.214729, len: 167 -Insert lsn: 232, time: 1338903440.214753, len: 167 -Insert lsn: 233, time: 1338903440.214778, len: 167 -Insert lsn: 234, time: 1338903440.214828, len: 167 -Insert lsn: 235, time: 1338903440.214853, len: 167 -Insert lsn: 236, time: 1338903440.214878, len: 167 -Insert lsn: 237, time: 1338903440.214927, len: 167 -Insert lsn: 238, time: 1338903440.214953, len: 167 -Insert lsn: 239, time: 1338903440.214980, len: 167 -Insert lsn: 240, time: 1338903440.215005, len: 167 -Insert lsn: 241, time: 1338903440.215030, len: 167 -Insert lsn: 242, time: 1338903440.215055, len: 167 -Insert lsn: 243, time: 1338903440.215080, len: 167 -Insert lsn: 244, time: 1338903440.215105, len: 167 -Insert lsn: 245, time: 1338903440.215131, len: 167 -Insert lsn: 246, time: 1338903440.215157, len: 167 -Insert lsn: 247, time: 1338903440.215190, len: 167 -Insert lsn: 248, time: 1338903440.215215, len: 167 -Insert lsn: 249, time: 1338903440.215277, len: 167 -Insert lsn: 250, time: 1338903440.215327, len: 167 -Insert lsn: 251, time: 1338903440.215356, len: 167 -Insert lsn: 252, time: 1338903440.215382, len: 167 -Insert lsn: 253, time: 1338903440.215407, len: 167 -Insert lsn: 254, time: 1338903440.215432, len: 167 -Insert lsn: 255, time: 1338903440.215459, len: 167 -Insert lsn: 256, time: 1338903440.215486, len: 167 -Insert lsn: 257, time: 1338903440.215513, len: 167 -Insert lsn: 258, time: 1338903440.215539, len: 167 -Insert lsn: 259, time: 1338903440.215563, len: 167 -Insert lsn: 260, time: 1338903440.215590, len: 167 -Insert lsn: 261, time: 1338903440.215623, len: 167 -Insert lsn: 262, time: 1338903440.215649, len: 167 -Insert lsn: 263, time: 1338903440.215675, len: 167 -Insert lsn: 264, time: 1338903440.215699, len: 167 -Insert lsn: 265, time: 1338903440.215723, len: 167 -Insert lsn: 266, time: 1338903440.215748, len: 167 -Insert lsn: 267, time: 1338903440.215773, len: 167 -Insert lsn: 268, time: 1338903440.215797, len: 167 -Insert lsn: 269, time: 1338903440.215822, len: 167 -Insert lsn: 270, time: 1338903440.215866, len: 167 -Insert lsn: 271, time: 1338903440.215894, len: 167 -Insert lsn: 272, time: 1338903440.215918, len: 167 -Insert lsn: 273, time: 1338903440.215942, len: 167 -Insert lsn: 274, time: 1338903440.215968, len: 167 -Insert lsn: 275, time: 1338903440.216054, len: 167 -Insert lsn: 276, time: 1338903440.216105, len: 167 -Insert lsn: 277, time: 1338903440.216130, len: 167 -Insert lsn: 278, time: 1338903440.216155, len: 167 -Insert lsn: 279, time: 1338903440.216181, len: 167 -Insert lsn: 280, time: 1338903440.216207, len: 167 -Insert lsn: 281, time: 1338903440.216231, len: 167 -Insert lsn: 282, time: 1338903440.216256, len: 167 -Insert lsn: 283, time: 1338903440.216281, len: 167 -Insert lsn: 284, time: 1338903440.216306, len: 167 -Insert lsn: 285, time: 1338903440.216332, len: 167 -Insert lsn: 286, time: 1338903440.216357, len: 167 -Insert lsn: 287, time: 1338903440.216382, len: 167 -Insert lsn: 288, time: 1338903440.216407, len: 167 -Insert lsn: 289, time: 1338903440.216444, len: 167 -Insert lsn: 290, time: 1338903440.216470, len: 167 -Insert lsn: 291, time: 1338903440.216519, len: 167 -Insert lsn: 292, time: 1338903440.216549, len: 167 -Insert lsn: 293, time: 1338903440.216576, len: 167 -Insert lsn: 294, time: 1338903440.216602, len: 167 -Insert lsn: 295, time: 1338903440.216627, len: 167 -Insert lsn: 296, time: 1338903440.216652, len: 167 -Insert lsn: 297, time: 1338903440.216677, len: 167 -Insert lsn: 298, time: 1338903440.216701, len: 167 -Insert lsn: 299, time: 1338903440.216725, len: 167 -Insert lsn: 300, time: 1338903440.216749, len: 167 -Insert lsn: 301, time: 1338903440.216774, len: 167 -Insert lsn: 302, time: 1338903440.217291, len: 68 -Insert lsn: 303, time: 1338903440.217376, len: 68 -Insert lsn: 304, time: 1338903440.217406, len: 68 -Insert lsn: 305, time: 1338903440.217431, len: 68 -Insert lsn: 306, time: 1338903440.217458, len: 68 -Insert lsn: 307, time: 1338903440.217483, len: 68 -Insert lsn: 308, time: 1338903440.217508, len: 68 -Insert lsn: 309, time: 1338903440.217533, len: 68 -Insert lsn: 310, time: 1338903440.217565, len: 68 -Insert lsn: 311, time: 1338903440.217591, len: 68 -Insert lsn: 312, time: 1338903440.217618, len: 69 -Insert lsn: 313, time: 1338903440.217644, len: 69 -Insert lsn: 314, time: 1338903440.217670, len: 69 -Insert lsn: 315, time: 1338903440.217697, len: 69 -Insert lsn: 316, time: 1338903440.217722, len: 69 -Insert lsn: 317, time: 1338903440.217749, len: 69 -Insert lsn: 318, time: 1338903440.217776, len: 69 -Insert lsn: 319, time: 1338903440.217801, len: 69 -Insert lsn: 320, time: 1338903440.217865, len: 69 -Insert lsn: 321, time: 1338903440.217896, len: 69 -Insert lsn: 322, time: 1338903440.217923, len: 69 -Insert lsn: 323, time: 1338903440.217949, len: 69 -Insert lsn: 324, time: 1338903440.217974, len: 69 -Insert lsn: 325, time: 1338903440.218000, len: 69 -Insert lsn: 326, time: 1338903440.218045, len: 69 -Insert lsn: 327, time: 1338903440.218071, len: 69 -Insert lsn: 328, time: 1338903440.218097, len: 69 -Insert lsn: 329, time: 1338903440.218124, len: 69 -Insert lsn: 330, time: 1338903440.218150, len: 69 -Insert lsn: 331, time: 1338903440.218176, len: 69 -Insert lsn: 332, time: 1338903440.218203, len: 69 -Insert lsn: 333, time: 1338903440.218246, len: 69 -Insert lsn: 334, time: 1338903440.218277, len: 69 -Insert lsn: 335, time: 1338903440.218303, len: 69 -Insert lsn: 336, time: 1338903440.218329, len: 69 -Insert lsn: 337, time: 1338903440.218354, len: 69 -Insert lsn: 338, time: 1338903440.218380, len: 69 -Insert lsn: 339, time: 1338903440.218406, len: 69 -Insert lsn: 340, time: 1338903440.218431, len: 69 -Insert lsn: 341, time: 1338903440.218456, len: 69 -Insert lsn: 342, time: 1338903440.218491, len: 69 -Insert lsn: 343, time: 1338903440.218516, len: 69 -Insert lsn: 344, time: 1338903440.218542, len: 69 -Insert lsn: 345, time: 1338903440.218567, len: 69 -Insert lsn: 346, time: 1338903440.218592, len: 69 -Insert lsn: 347, time: 1338903440.218617, len: 69 -Insert lsn: 348, time: 1338903440.218643, len: 69 -Insert lsn: 349, time: 1338903440.218669, len: 69 -Insert lsn: 350, time: 1338903440.218695, len: 69 -Insert lsn: 351, time: 1338903440.218721, len: 69 -Insert lsn: 352, time: 1338903440.218748, len: 69 -Insert lsn: 353, time: 1338903440.218773, len: 69 -Insert lsn: 354, time: 1338903440.218798, len: 69 -Insert lsn: 355, time: 1338903440.218824, len: 69 -Insert lsn: 356, time: 1338903440.218851, len: 69 -Insert lsn: 357, time: 1338903440.218877, len: 69 -Insert lsn: 358, time: 1338903440.218915, len: 69 -Insert lsn: 359, time: 1338903440.218943, len: 69 -Insert lsn: 360, time: 1338903440.218969, len: 69 -Insert lsn: 361, time: 1338903440.219052, len: 69 -Insert lsn: 362, time: 1338903440.219089, len: 69 -Insert lsn: 363, time: 1338903440.219114, len: 69 -Insert lsn: 364, time: 1338903440.219139, len: 69 -Insert lsn: 365, time: 1338903440.219164, len: 69 -Insert lsn: 366, time: 1338903440.219190, len: 69 -Insert lsn: 367, time: 1338903440.219216, len: 69 -Insert lsn: 368, time: 1338903440.219241, len: 69 -Insert lsn: 369, time: 1338903440.219266, len: 69 -Insert lsn: 370, time: 1338903440.219291, len: 69 -Insert lsn: 371, time: 1338903440.219316, len: 69 -Insert lsn: 372, time: 1338903440.219342, len: 69 -Insert lsn: 373, time: 1338903440.219367, len: 69 -Insert lsn: 374, time: 1338903440.219391, len: 69 -Insert lsn: 375, time: 1338903440.219422, len: 69 -Insert lsn: 376, time: 1338903440.219448, len: 69 -Insert lsn: 377, time: 1338903440.219478, len: 69 -Insert lsn: 378, time: 1338903440.219503, len: 69 -Insert lsn: 379, time: 1338903440.219528, len: 69 -Insert lsn: 380, time: 1338903440.219552, len: 69 -Insert lsn: 381, time: 1338903440.219577, len: 69 -Insert lsn: 382, time: 1338903440.219601, len: 69 -Insert lsn: 383, time: 1338903440.219625, len: 69 -Insert lsn: 384, time: 1338903440.219650, len: 69 -Insert lsn: 385, time: 1338903440.219675, len: 69 -Insert lsn: 386, time: 1338903440.219700, len: 69 -Insert lsn: 387, time: 1338903440.219725, len: 69 -Insert lsn: 388, time: 1338903440.219749, len: 69 -Insert lsn: 389, time: 1338903440.219774, len: 69 -Insert lsn: 390, time: 1338903440.219798, len: 69 -Insert lsn: 391, time: 1338903440.219823, len: 69 -Insert lsn: 392, time: 1338903440.219847, len: 69 -Insert lsn: 393, time: 1338903440.219882, len: 69 -Insert lsn: 394, time: 1338903440.219907, len: 69 -Insert lsn: 395, time: 1338903440.219932, len: 69 -Insert lsn: 396, time: 1338903440.219957, len: 69 -Insert lsn: 397, time: 1338903440.219981, len: 69 -Insert lsn: 398, time: 1338903440.220006, len: 69 -Insert lsn: 399, time: 1338903440.220031, len: 69 -Insert lsn: 400, time: 1338903440.220055, len: 69 -Insert lsn: 401, time: 1338903440.220099, len: 69 -Insert lsn: 402, time: 1338903440.220698, len: 100 -Insert lsn: 403, time: 1338903440.220780, len: 100 -Insert lsn: 404, time: 1338903440.220809, len: 100 -Insert lsn: 405, time: 1338903440.220836, len: 100 -Insert lsn: 406, time: 1338903440.220861, len: 100 -Insert lsn: 407, time: 1338903440.220887, len: 100 -Insert lsn: 408, time: 1338903440.220913, len: 100 -Insert lsn: 409, time: 1338903440.220939, len: 100 -Insert lsn: 410, time: 1338903440.220966, len: 100 -Insert lsn: 411, time: 1338903440.220993, len: 100 -Insert lsn: 412, time: 1338903440.221020, len: 101 -Insert lsn: 413, time: 1338903440.221047, len: 101 -Insert lsn: 414, time: 1338903440.221074, len: 101 -Insert lsn: 415, time: 1338903440.221101, len: 101 -Insert lsn: 416, time: 1338903440.221127, len: 101 -Insert lsn: 417, time: 1338903440.221155, len: 101 -Insert lsn: 418, time: 1338903440.221181, len: 101 -Insert lsn: 419, time: 1338903440.221207, len: 101 -Insert lsn: 420, time: 1338903440.221233, len: 101 -Insert lsn: 421, time: 1338903440.221260, len: 101 -Insert lsn: 422, time: 1338903440.221287, len: 101 -Insert lsn: 423, time: 1338903440.221313, len: 101 -Insert lsn: 424, time: 1338903440.221339, len: 101 -Insert lsn: 425, time: 1338903440.221366, len: 101 -Insert lsn: 426, time: 1338903440.221393, len: 101 -Insert lsn: 427, time: 1338903440.221418, len: 101 -Insert lsn: 428, time: 1338903440.221443, len: 101 -Insert lsn: 429, time: 1338903440.221468, len: 101 -Insert lsn: 430, time: 1338903440.221493, len: 101 -Insert lsn: 431, time: 1338903440.221518, len: 101 -Insert lsn: 432, time: 1338903440.221605, len: 101 -Insert lsn: 433, time: 1338903440.221638, len: 101 -Insert lsn: 434, time: 1338903440.221663, len: 101 -Insert lsn: 435, time: 1338903440.221688, len: 101 -Insert lsn: 436, time: 1338903440.221714, len: 101 -Insert lsn: 437, time: 1338903440.221739, len: 101 -Insert lsn: 438, time: 1338903440.221764, len: 101 -Insert lsn: 439, time: 1338903440.221788, len: 101 -Insert lsn: 440, time: 1338903440.221814, len: 101 -Insert lsn: 441, time: 1338903440.221840, len: 101 -Insert lsn: 442, time: 1338903440.221865, len: 101 -Insert lsn: 443, time: 1338903440.221889, len: 101 -Insert lsn: 444, time: 1338903440.221914, len: 101 -Insert lsn: 445, time: 1338903440.221939, len: 101 -Insert lsn: 446, time: 1338903440.221964, len: 101 -Insert lsn: 447, time: 1338903440.221988, len: 101 -Insert lsn: 448, time: 1338903440.222013, len: 101 -Insert lsn: 449, time: 1338903440.222038, len: 101 -Insert lsn: 450, time: 1338903440.222062, len: 101 -Insert lsn: 451, time: 1338903440.222087, len: 101 -Insert lsn: 452, time: 1338903440.222111, len: 101 -Insert lsn: 453, time: 1338903440.222136, len: 101 -Insert lsn: 454, time: 1338903440.222160, len: 101 -Insert lsn: 455, time: 1338903440.222184, len: 101 -Insert lsn: 456, time: 1338903440.222211, len: 101 -Insert lsn: 457, time: 1338903440.222237, len: 101 -Insert lsn: 458, time: 1338903440.222264, len: 101 -Insert lsn: 459, time: 1338903440.222289, len: 101 -Insert lsn: 460, time: 1338903440.222314, len: 101 -Insert lsn: 461, time: 1338903440.222339, len: 101 -Insert lsn: 462, time: 1338903440.222366, len: 101 -Insert lsn: 463, time: 1338903440.222422, len: 101 -Insert lsn: 464, time: 1338903440.222450, len: 101 -Insert lsn: 465, time: 1338903440.222475, len: 101 -Insert lsn: 466, time: 1338903440.222500, len: 101 -Insert lsn: 467, time: 1338903440.222526, len: 101 -Insert lsn: 468, time: 1338903440.222562, len: 101 -Insert lsn: 469, time: 1338903440.222588, len: 101 -Insert lsn: 470, time: 1338903440.222614, len: 101 -Insert lsn: 471, time: 1338903440.222639, len: 101 -Insert lsn: 472, time: 1338903440.222664, len: 101 -Insert lsn: 473, time: 1338903440.222691, len: 101 -Insert lsn: 474, time: 1338903440.222717, len: 101 -Insert lsn: 475, time: 1338903440.222742, len: 101 -Insert lsn: 476, time: 1338903440.222767, len: 101 -Insert lsn: 477, time: 1338903440.222800, len: 101 -Insert lsn: 478, time: 1338903440.222826, len: 101 -Insert lsn: 479, time: 1338903440.222851, len: 101 -Insert lsn: 480, time: 1338903440.222876, len: 101 -Insert lsn: 481, time: 1338903440.222901, len: 101 -Insert lsn: 482, time: 1338903440.222926, len: 101 -Insert lsn: 483, time: 1338903440.222951, len: 101 -Insert lsn: 484, time: 1338903440.222976, len: 101 -Insert lsn: 485, time: 1338903440.223000, len: 101 -Insert lsn: 486, time: 1338903440.223025, len: 101 -Insert lsn: 487, time: 1338903440.223049, len: 101 -Insert lsn: 488, time: 1338903440.223074, len: 101 -Insert lsn: 489, time: 1338903440.223100, len: 101 -Insert lsn: 490, time: 1338903440.223125, len: 101 -Insert lsn: 491, time: 1338903440.223149, len: 101 -Insert lsn: 492, time: 1338903440.223174, len: 101 -Insert lsn: 493, time: 1338903440.223199, len: 101 -Insert lsn: 494, time: 1338903440.223256, len: 101 -Insert lsn: 495, time: 1338903440.223284, len: 101 -Insert lsn: 496, time: 1338903440.223311, len: 101 -Insert lsn: 497, time: 1338903440.223336, len: 101 -Insert lsn: 498, time: 1338903440.223361, len: 101 -Insert lsn: 499, time: 1338903440.223386, len: 101 -Insert lsn: 500, time: 1338903440.223410, len: 101 -Insert lsn: 501, time: 1338903440.223435, len: 101 -Insert lsn: 502, time: 1338903440.224114, len: 166 -Insert lsn: 503, time: 1338903440.224227, len: 166 -Insert lsn: 504, time: 1338903440.224259, len: 166 -Insert lsn: 505, time: 1338903440.224284, len: 166 -Insert lsn: 506, time: 1338903440.224311, len: 166 -Insert lsn: 507, time: 1338903440.224339, len: 166 -Insert lsn: 508, time: 1338903440.224365, len: 166 -Insert lsn: 509, time: 1338903440.224391, len: 166 -Insert lsn: 510, time: 1338903440.224418, len: 166 -Insert lsn: 511, time: 1338903440.224444, len: 166 -Insert lsn: 512, time: 1338903440.224471, len: 167 -Insert lsn: 513, time: 1338903440.224497, len: 167 -Insert lsn: 514, time: 1338903440.224523, len: 167 -Insert lsn: 515, time: 1338903440.224550, len: 167 -Insert lsn: 516, time: 1338903440.224576, len: 167 -Insert lsn: 517, time: 1338903440.224639, len: 167 -Insert lsn: 518, time: 1338903440.224671, len: 167 -Insert lsn: 519, time: 1338903440.224698, len: 167 -Insert lsn: 520, time: 1338903440.224725, len: 167 -Insert lsn: 521, time: 1338903440.224753, len: 167 -Insert lsn: 522, time: 1338903440.224780, len: 167 -Insert lsn: 523, time: 1338903440.224806, len: 167 -Insert lsn: 524, time: 1338903440.224833, len: 167 -Insert lsn: 525, time: 1338903440.224860, len: 167 -Insert lsn: 526, time: 1338903440.224888, len: 167 -Insert lsn: 527, time: 1338903440.224938, len: 167 -Insert lsn: 528, time: 1338903440.224967, len: 167 -Insert lsn: 529, time: 1338903440.224994, len: 167 -Insert lsn: 530, time: 1338903440.225020, len: 167 -Insert lsn: 531, time: 1338903440.225047, len: 167 -Insert lsn: 532, time: 1338903440.225073, len: 167 -Insert lsn: 533, time: 1338903440.225100, len: 167 -Insert lsn: 534, time: 1338903440.225126, len: 167 -Insert lsn: 535, time: 1338903440.225152, len: 167 -Insert lsn: 536, time: 1338903440.225180, len: 167 -Insert lsn: 537, time: 1338903440.225206, len: 167 -Insert lsn: 538, time: 1338903440.225260, len: 167 -Insert lsn: 539, time: 1338903440.225290, len: 167 -Insert lsn: 540, time: 1338903440.225316, len: 167 -Insert lsn: 541, time: 1338903440.225343, len: 167 -Insert lsn: 542, time: 1338903440.225369, len: 167 -Insert lsn: 543, time: 1338903440.225395, len: 167 -Insert lsn: 544, time: 1338903440.225421, len: 167 -Insert lsn: 545, time: 1338903440.225448, len: 167 -Insert lsn: 546, time: 1338903440.225474, len: 167 -Insert lsn: 547, time: 1338903440.225500, len: 167 -Insert lsn: 548, time: 1338903440.225527, len: 167 -Insert lsn: 549, time: 1338903440.225554, len: 167 -Insert lsn: 550, time: 1338903440.225580, len: 167 -Insert lsn: 551, time: 1338903440.225605, len: 167 -Insert lsn: 552, time: 1338903440.225631, len: 167 -Insert lsn: 553, time: 1338903440.225658, len: 167 -Insert lsn: 554, time: 1338903440.225685, len: 167 -Insert lsn: 555, time: 1338903440.225711, len: 167 -Insert lsn: 556, time: 1338903440.225738, len: 167 -Insert lsn: 557, time: 1338903440.225765, len: 167 -Insert lsn: 558, time: 1338903440.225792, len: 167 -Insert lsn: 559, time: 1338903440.225836, len: 167 -Insert lsn: 560, time: 1338903440.225865, len: 167 -Insert lsn: 561, time: 1338903440.225892, len: 167 -Insert lsn: 562, time: 1338903440.225919, len: 167 -Insert lsn: 563, time: 1338903440.225945, len: 167 -Insert lsn: 564, time: 1338903440.225971, len: 167 -Insert lsn: 565, time: 1338903440.225997, len: 167 -Insert lsn: 566, time: 1338903440.226024, len: 167 -Insert lsn: 567, time: 1338903440.226051, len: 167 -Insert lsn: 568, time: 1338903440.226080, len: 167 -Insert lsn: 569, time: 1338903440.226107, len: 167 -Insert lsn: 570, time: 1338903440.226134, len: 167 -Insert lsn: 571, time: 1338903440.226162, len: 167 -Insert lsn: 572, time: 1338903440.226190, len: 167 -Insert lsn: 573, time: 1338903440.226217, len: 167 -Insert lsn: 574, time: 1338903440.226244, len: 167 -Insert lsn: 575, time: 1338903440.226271, len: 167 -Insert lsn: 576, time: 1338903440.226296, len: 167 -Insert lsn: 577, time: 1338903440.226322, len: 167 -Insert lsn: 578, time: 1338903440.226348, len: 167 -Insert lsn: 579, time: 1338903440.226392, len: 167 -Insert lsn: 580, time: 1338903440.226420, len: 167 -Insert lsn: 581, time: 1338903440.226446, len: 167 -Insert lsn: 582, time: 1338903440.226471, len: 167 -Insert lsn: 583, time: 1338903440.226496, len: 167 -Insert lsn: 584, time: 1338903440.226521, len: 167 -Insert lsn: 585, time: 1338903440.226546, len: 167 -Insert lsn: 586, time: 1338903440.226571, len: 167 -Insert lsn: 587, time: 1338903440.226596, len: 167 -Insert lsn: 588, time: 1338903440.226622, len: 167 -Insert lsn: 589, time: 1338903440.226648, len: 167 -Insert lsn: 590, time: 1338903440.226674, len: 167 -Insert lsn: 591, time: 1338903440.226699, len: 167 -Insert lsn: 592, time: 1338903440.226724, len: 167 -Insert lsn: 593, time: 1338903440.226749, len: 167 -Insert lsn: 594, time: 1338903440.226774, len: 167 -Insert lsn: 595, time: 1338903440.226799, len: 167 -Insert lsn: 596, time: 1338903440.226825, len: 167 -Insert lsn: 597, time: 1338903440.226850, len: 167 -Insert lsn: 598, time: 1338903440.226882, len: 167 -Insert lsn: 599, time: 1338903440.226907, len: 167 -Insert lsn: 600, time: 1338903440.226949, len: 167 -Insert lsn: 601, time: 1338903440.226978, len: 167 -Update lsn: 602, time: 1338903440.227788, len: 77 -Update lsn: 603, time: 1338903440.227901, len: 77 -Update lsn: 604, time: 1338903440.227932, len: 77 -Update lsn: 605, time: 1338903440.227961, len: 77 -Update lsn: 606, time: 1338903440.227988, len: 77 -Update lsn: 607, time: 1338903440.228014, len: 77 -Update lsn: 608, time: 1338903440.228041, len: 77 -Update lsn: 609, time: 1338903440.228069, len: 77 -Update lsn: 610, time: 1338903440.228096, len: 77 -Update lsn: 611, time: 1338903440.228123, len: 77 -Update lsn: 612, time: 1338903440.228150, len: 78 -Update lsn: 613, time: 1338903440.228177, len: 78 -Update lsn: 614, time: 1338903440.228204, len: 78 -Update lsn: 615, time: 1338903440.228250, len: 78 -Update lsn: 616, time: 1338903440.228283, len: 78 -Update lsn: 617, time: 1338903440.228311, len: 78 -Update lsn: 618, time: 1338903440.228338, len: 78 -Update lsn: 619, time: 1338903440.228365, len: 78 -Update lsn: 620, time: 1338903440.228393, len: 78 -Update lsn: 621, time: 1338903440.228421, len: 78 -Update lsn: 622, time: 1338903440.228448, len: 78 -Update lsn: 623, time: 1338903440.228475, len: 78 -Update lsn: 624, time: 1338903440.228502, len: 78 -Update lsn: 625, time: 1338903440.228530, len: 78 -Update lsn: 626, time: 1338903440.228556, len: 78 -Update lsn: 627, time: 1338903440.228583, len: 78 -Update lsn: 628, time: 1338903440.228611, len: 78 -Update lsn: 629, time: 1338903440.228639, len: 78 -Update lsn: 630, time: 1338903440.228668, len: 78 -Update lsn: 631, time: 1338903440.228695, len: 78 -Update lsn: 632, time: 1338903440.228723, len: 78 -Update lsn: 633, time: 1338903440.228751, len: 78 -Update lsn: 634, time: 1338903440.228778, len: 78 -Update lsn: 635, time: 1338903440.228838, len: 78 -Update lsn: 636, time: 1338903440.228867, len: 78 -Update lsn: 637, time: 1338903440.228892, len: 78 -Update lsn: 638, time: 1338903440.228918, len: 78 -Update lsn: 639, time: 1338903440.228944, len: 78 -Update lsn: 640, time: 1338903440.228969, len: 78 -Update lsn: 641, time: 1338903440.228995, len: 78 -Update lsn: 642, time: 1338903440.229021, len: 78 -Update lsn: 643, time: 1338903440.229047, len: 78 -Update lsn: 644, time: 1338903440.229073, len: 78 -Update lsn: 645, time: 1338903440.229099, len: 78 -Update lsn: 646, time: 1338903440.229125, len: 78 -Update lsn: 647, time: 1338903440.229150, len: 78 -Update lsn: 648, time: 1338903440.229176, len: 78 -Update lsn: 649, time: 1338903440.229201, len: 78 -Update lsn: 650, time: 1338903440.229228, len: 78 -Update lsn: 651, time: 1338903440.229254, len: 78 -Update lsn: 652, time: 1338903440.229281, len: 78 -Update lsn: 653, time: 1338903440.229307, len: 78 -Update lsn: 654, time: 1338903440.229333, len: 78 -Update lsn: 655, time: 1338903440.229360, len: 78 -Update lsn: 656, time: 1338903440.229386, len: 78 -Update lsn: 657, time: 1338903440.229412, len: 78 -Update lsn: 658, time: 1338903440.229439, len: 78 -Update lsn: 659, time: 1338903440.229465, len: 78 -Update lsn: 660, time: 1338903440.229491, len: 78 -Update lsn: 661, time: 1338903440.229517, len: 78 -Update lsn: 662, time: 1338903440.229544, len: 78 -Update lsn: 663, time: 1338903440.229584, len: 78 -Update lsn: 664, time: 1338903440.229612, len: 78 -Update lsn: 665, time: 1338903440.229639, len: 78 -Update lsn: 666, time: 1338903440.229666, len: 78 -Update lsn: 667, time: 1338903440.229694, len: 78 -Update lsn: 668, time: 1338903440.229723, len: 78 -Update lsn: 669, time: 1338903440.229752, len: 78 -Update lsn: 670, time: 1338903440.229779, len: 78 -Update lsn: 671, time: 1338903440.229808, len: 78 -Update lsn: 672, time: 1338903440.229862, len: 78 -Update lsn: 673, time: 1338903440.229892, len: 78 -Update lsn: 674, time: 1338903440.229933, len: 78 -Update lsn: 675, time: 1338903440.229961, len: 78 -Update lsn: 676, time: 1338903440.229988, len: 78 -Update lsn: 677, time: 1338903440.230015, len: 78 -Update lsn: 678, time: 1338903440.230042, len: 78 -Update lsn: 679, time: 1338903440.230069, len: 78 -Update lsn: 680, time: 1338903440.230096, len: 78 -Update lsn: 681, time: 1338903440.230124, len: 78 -Update lsn: 682, time: 1338903440.230153, len: 78 -Update lsn: 683, time: 1338903440.230180, len: 78 -Update lsn: 684, time: 1338903440.230210, len: 78 -Update lsn: 685, time: 1338903440.230248, len: 78 -Update lsn: 686, time: 1338903440.230274, len: 78 -Update lsn: 687, time: 1338903440.230300, len: 78 -Update lsn: 688, time: 1338903440.230326, len: 78 -Update lsn: 689, time: 1338903440.230352, len: 78 -Update lsn: 690, time: 1338903440.230380, len: 78 -Update lsn: 691, time: 1338903440.230408, len: 78 -Update lsn: 692, time: 1338903440.230434, len: 78 -Update lsn: 693, time: 1338903440.230462, len: 78 -Update lsn: 694, time: 1338903440.230488, len: 78 -Update lsn: 695, time: 1338903440.230515, len: 78 -Update lsn: 696, time: 1338903440.230541, len: 78 -Update lsn: 697, time: 1338903440.230567, len: 78 -Update lsn: 698, time: 1338903440.230593, len: 78 -Update lsn: 699, time: 1338903440.230619, len: 78 -Update lsn: 700, time: 1338903440.230645, len: 78 -Update lsn: 701, time: 1338903440.230670, len: 78 -Update lsn: 702, time: 1338903440.231167, len: 109 -Update lsn: 703, time: 1338903440.231248, len: 109 -Update lsn: 704, time: 1338903440.231279, len: 109 -Update lsn: 705, time: 1338903440.231308, len: 109 -Update lsn: 706, time: 1338903440.231335, len: 109 -Update lsn: 707, time: 1338903440.231362, len: 109 -Update lsn: 708, time: 1338903440.231420, len: 109 -Update lsn: 709, time: 1338903440.231452, len: 109 -Update lsn: 710, time: 1338903440.231482, len: 109 -Update lsn: 711, time: 1338903440.231512, len: 109 -Update lsn: 712, time: 1338903440.231540, len: 110 -Update lsn: 713, time: 1338903440.231589, len: 110 -Update lsn: 714, time: 1338903440.231620, len: 110 -Update lsn: 715, time: 1338903440.231647, len: 110 -Update lsn: 716, time: 1338903440.231674, len: 110 -Update lsn: 717, time: 1338903440.231703, len: 110 -Update lsn: 718, time: 1338903440.231731, len: 110 -Update lsn: 719, time: 1338903440.231761, len: 110 -Update lsn: 720, time: 1338903440.231789, len: 110 -Update lsn: 721, time: 1338903440.231818, len: 110 -Update lsn: 722, time: 1338903440.231847, len: 110 -Update lsn: 723, time: 1338903440.231874, len: 110 -Update lsn: 724, time: 1338903440.231900, len: 110 -Update lsn: 725, time: 1338903440.231927, len: 110 -Update lsn: 726, time: 1338903440.231954, len: 110 -Update lsn: 727, time: 1338903440.231981, len: 110 -Update lsn: 728, time: 1338903440.232007, len: 110 -Update lsn: 729, time: 1338903440.232034, len: 110 -Update lsn: 730, time: 1338903440.232061, len: 110 -Update lsn: 731, time: 1338903440.232088, len: 110 -Update lsn: 732, time: 1338903440.232114, len: 110 -Update lsn: 733, time: 1338903440.232140, len: 110 -Update lsn: 734, time: 1338903440.232166, len: 110 -Update lsn: 735, time: 1338903440.232192, len: 110 -Update lsn: 736, time: 1338903440.232217, len: 110 -Update lsn: 737, time: 1338903440.232270, len: 110 -Update lsn: 738, time: 1338903440.232300, len: 110 -Update lsn: 739, time: 1338903440.232326, len: 110 -Update lsn: 740, time: 1338903440.232352, len: 110 -Update lsn: 741, time: 1338903440.232377, len: 110 -Update lsn: 742, time: 1338903440.232403, len: 110 -Update lsn: 743, time: 1338903440.232429, len: 110 -Update lsn: 744, time: 1338903440.232456, len: 110 -Update lsn: 745, time: 1338903440.232483, len: 110 -Update lsn: 746, time: 1338903440.232509, len: 110 -Update lsn: 747, time: 1338903440.232537, len: 110 -Update lsn: 748, time: 1338903440.232564, len: 110 -Update lsn: 749, time: 1338903440.232590, len: 110 -Update lsn: 750, time: 1338903440.232617, len: 110 -Update lsn: 751, time: 1338903440.232643, len: 110 -Update lsn: 752, time: 1338903440.232670, len: 110 -Update lsn: 753, time: 1338903440.232697, len: 110 -Update lsn: 754, time: 1338903440.232724, len: 110 -Update lsn: 755, time: 1338903440.232750, len: 110 -Update lsn: 756, time: 1338903440.232777, len: 110 -Update lsn: 757, time: 1338903440.232803, len: 110 -Update lsn: 758, time: 1338903440.232829, len: 110 -Update lsn: 759, time: 1338903440.232856, len: 110 -Update lsn: 760, time: 1338903440.232883, len: 110 -Update lsn: 761, time: 1338903440.232909, len: 110 -Update lsn: 762, time: 1338903440.232936, len: 110 -Update lsn: 763, time: 1338903440.232962, len: 110 -Update lsn: 764, time: 1338903440.232989, len: 110 -Update lsn: 765, time: 1338903440.233016, len: 110 -Update lsn: 766, time: 1338903440.233063, len: 110 -Update lsn: 767, time: 1338903440.233091, len: 110 -Update lsn: 768, time: 1338903440.233117, len: 110 -Update lsn: 769, time: 1338903440.233144, len: 110 -Update lsn: 770, time: 1338903440.233170, len: 110 -Update lsn: 771, time: 1338903440.233196, len: 110 -Update lsn: 772, time: 1338903440.233221, len: 110 -Update lsn: 773, time: 1338903440.233247, len: 110 -Update lsn: 774, time: 1338903440.233274, len: 110 -Update lsn: 775, time: 1338903440.233300, len: 110 -Update lsn: 776, time: 1338903440.233327, len: 110 -Update lsn: 777, time: 1338903440.233354, len: 110 -Update lsn: 778, time: 1338903440.233381, len: 110 -Update lsn: 779, time: 1338903440.233407, len: 110 -Update lsn: 780, time: 1338903440.233434, len: 110 -Update lsn: 781, time: 1338903440.233461, len: 110 -Update lsn: 782, time: 1338903440.233488, len: 110 -Update lsn: 783, time: 1338903440.233515, len: 110 -Update lsn: 784, time: 1338903440.233542, len: 110 -Update lsn: 785, time: 1338903440.233568, len: 110 -Update lsn: 786, time: 1338903440.233595, len: 110 -Update lsn: 787, time: 1338903440.233622, len: 110 -Update lsn: 788, time: 1338903440.233649, len: 110 -Update lsn: 789, time: 1338903440.233677, len: 110 -Update lsn: 790, time: 1338903440.233704, len: 110 -Update lsn: 791, time: 1338903440.233730, len: 110 -Update lsn: 792, time: 1338903440.233757, len: 110 -Update lsn: 793, time: 1338903440.233784, len: 110 -Update lsn: 794, time: 1338903440.233827, len: 110 -Update lsn: 795, time: 1338903440.233855, len: 110 -Update lsn: 796, time: 1338903440.233882, len: 110 -Update lsn: 797, time: 1338903440.233909, len: 110 -Update lsn: 798, time: 1338903440.233936, len: 110 -Update lsn: 799, time: 1338903440.233963, len: 110 -Update lsn: 800, time: 1338903440.233989, len: 110 -Update lsn: 801, time: 1338903440.234015, len: 110 -Update lsn: 802, time: 1338903440.234573, len: 175 -Update lsn: 803, time: 1338903440.234678, len: 175 -Update lsn: 804, time: 1338903440.234710, len: 175 -Update lsn: 805, time: 1338903440.234738, len: 175 -Update lsn: 806, time: 1338903440.234767, len: 175 -Update lsn: 807, time: 1338903440.234796, len: 175 -Update lsn: 808, time: 1338903440.234823, len: 175 -Update lsn: 809, time: 1338903440.234851, len: 175 -Update lsn: 810, time: 1338903440.234878, len: 175 -Update lsn: 811, time: 1338903440.234923, len: 175 -Update lsn: 812, time: 1338903440.234954, len: 176 -Update lsn: 813, time: 1338903440.234984, len: 176 -Update lsn: 814, time: 1338903440.235012, len: 176 -Update lsn: 815, time: 1338903440.235040, len: 176 -Update lsn: 816, time: 1338903440.235068, len: 176 -Update lsn: 817, time: 1338903440.235132, len: 176 -Update lsn: 818, time: 1338903440.235167, len: 176 -Update lsn: 819, time: 1338903440.235196, len: 176 -Update lsn: 820, time: 1338903440.235224, len: 176 -Update lsn: 821, time: 1338903440.235254, len: 176 -Update lsn: 822, time: 1338903440.235282, len: 176 -Update lsn: 823, time: 1338903440.235310, len: 176 -Update lsn: 824, time: 1338903440.235339, len: 176 -Update lsn: 825, time: 1338903440.235368, len: 176 -Update lsn: 826, time: 1338903440.235395, len: 176 -Update lsn: 827, time: 1338903440.235422, len: 176 -Update lsn: 828, time: 1338903440.235449, len: 176 -Update lsn: 829, time: 1338903440.235476, len: 176 -Update lsn: 830, time: 1338903440.235503, len: 176 -Update lsn: 831, time: 1338903440.235530, len: 176 -Update lsn: 832, time: 1338903440.235556, len: 176 -Update lsn: 833, time: 1338903440.235583, len: 176 -Update lsn: 834, time: 1338903440.235609, len: 176 -Update lsn: 835, time: 1338903440.235635, len: 176 -Update lsn: 836, time: 1338903440.235682, len: 176 -Update lsn: 837, time: 1338903440.235711, len: 176 -Update lsn: 838, time: 1338903440.235738, len: 176 -Update lsn: 839, time: 1338903440.235764, len: 176 -Update lsn: 840, time: 1338903440.235790, len: 176 -Update lsn: 841, time: 1338903440.235817, len: 176 -Update lsn: 842, time: 1338903440.235843, len: 176 -Update lsn: 843, time: 1338903440.235869, len: 176 -Update lsn: 844, time: 1338903440.235896, len: 176 -Update lsn: 845, time: 1338903440.235923, len: 176 -Update lsn: 846, time: 1338903440.235949, len: 176 -Update lsn: 847, time: 1338903440.235977, len: 176 -Update lsn: 848, time: 1338903440.236004, len: 176 -Update lsn: 849, time: 1338903440.236031, len: 176 -Update lsn: 850, time: 1338903440.236057, len: 176 -Update lsn: 851, time: 1338903440.236084, len: 176 -Update lsn: 852, time: 1338903440.236110, len: 176 -Update lsn: 853, time: 1338903440.236136, len: 176 -Update lsn: 854, time: 1338903440.236163, len: 176 -Update lsn: 855, time: 1338903440.236189, len: 176 -Update lsn: 856, time: 1338903440.236233, len: 176 -Update lsn: 857, time: 1338903440.236262, len: 176 -Update lsn: 858, time: 1338903440.236289, len: 176 -Update lsn: 859, time: 1338903440.236315, len: 176 -Update lsn: 860, time: 1338903440.236341, len: 176 -Update lsn: 861, time: 1338903440.236368, len: 176 -Update lsn: 862, time: 1338903440.236394, len: 176 -Update lsn: 863, time: 1338903440.236421, len: 176 -Update lsn: 864, time: 1338903440.236448, len: 176 -Update lsn: 865, time: 1338903440.236475, len: 176 -Update lsn: 866, time: 1338903440.236501, len: 176 -Update lsn: 867, time: 1338903440.236527, len: 176 -Update lsn: 868, time: 1338903440.236554, len: 176 -Update lsn: 869, time: 1338903440.236581, len: 176 -Update lsn: 870, time: 1338903440.236608, len: 176 -Update lsn: 871, time: 1338903440.236634, len: 176 -Update lsn: 872, time: 1338903440.236660, len: 176 -Update lsn: 873, time: 1338903440.236687, len: 176 -Update lsn: 874, time: 1338903440.236713, len: 176 -Update lsn: 875, time: 1338903440.236739, len: 176 -Update lsn: 876, time: 1338903440.236782, len: 176 -Update lsn: 877, time: 1338903440.236810, len: 176 -Update lsn: 878, time: 1338903440.236837, len: 176 -Update lsn: 879, time: 1338903440.236864, len: 176 -Update lsn: 880, time: 1338903440.236892, len: 176 -Update lsn: 881, time: 1338903440.236919, len: 176 -Update lsn: 882, time: 1338903440.236945, len: 176 -Update lsn: 883, time: 1338903440.236972, len: 176 -Update lsn: 884, time: 1338903440.236998, len: 176 -Update lsn: 885, time: 1338903440.237024, len: 176 -Update lsn: 886, time: 1338903440.237050, len: 176 -Update lsn: 887, time: 1338903440.237077, len: 176 -Update lsn: 888, time: 1338903440.237103, len: 176 -Update lsn: 889, time: 1338903440.237131, len: 176 -Update lsn: 890, time: 1338903440.237158, len: 176 -Update lsn: 891, time: 1338903440.237184, len: 176 -Update lsn: 892, time: 1338903440.237211, len: 176 -Update lsn: 893, time: 1338903440.237236, len: 176 -Update lsn: 894, time: 1338903440.237262, len: 176 -Update lsn: 895, time: 1338903440.237289, len: 176 -Update lsn: 896, time: 1338903440.237339, len: 176 -Update lsn: 897, time: 1338903440.237368, len: 176 -Update lsn: 898, time: 1338903440.237395, len: 176 -Update lsn: 899, time: 1338903440.237421, len: 176 -Update lsn: 900, time: 1338903440.237448, len: 176 -Update lsn: 901, time: 1338903440.237475, len: 176 -Update lsn: 902, time: 1338903440.238040, len: 77 -Update lsn: 903, time: 1338903440.238124, len: 77 -Update lsn: 904, time: 1338903440.238156, len: 77 -Update lsn: 905, time: 1338903440.238183, len: 77 -Update lsn: 906, time: 1338903440.238212, len: 77 -Update lsn: 907, time: 1338903440.238899, len: 77 -Update lsn: 908, time: 1338903440.238960, len: 77 -Update lsn: 909, time: 1338903440.238989, len: 77 -Update lsn: 910, time: 1338903440.239016, len: 77 -Update lsn: 911, time: 1338903440.239043, len: 77 -Update lsn: 912, time: 1338903440.239070, len: 78 -Update lsn: 913, time: 1338903440.239097, len: 78 -Update lsn: 914, time: 1338903440.239125, len: 78 -Update lsn: 915, time: 1338903440.239153, len: 78 -Update lsn: 916, time: 1338903440.239180, len: 78 -Update lsn: 917, time: 1338903440.239207, len: 78 -Update lsn: 918, time: 1338903440.239234, len: 78 -Update lsn: 919, time: 1338903440.239261, len: 78 -Update lsn: 920, time: 1338903440.239290, len: 78 -Update lsn: 921, time: 1338903440.240279, len: 78 -Update lsn: 922, time: 1338903440.240328, len: 78 -Update lsn: 923, time: 1338903440.240355, len: 78 -Update lsn: 924, time: 1338903440.240382, len: 78 -Update lsn: 925, time: 1338903440.240409, len: 78 -Update lsn: 926, time: 1338903440.240436, len: 78 -Update lsn: 927, time: 1338903440.240494, len: 78 -Update lsn: 928, time: 1338903440.240522, len: 78 -Update lsn: 929, time: 1338903440.240548, len: 78 -Update lsn: 930, time: 1338903440.240575, len: 78 -Update lsn: 931, time: 1338903440.240604, len: 78 -Update lsn: 932, time: 1338903440.240632, len: 78 -Update lsn: 933, time: 1338903440.240660, len: 78 -Update lsn: 934, time: 1338903440.240687, len: 78 -Update lsn: 935, time: 1338903440.240714, len: 78 -Update lsn: 936, time: 1338903440.240742, len: 78 -Update lsn: 937, time: 1338903440.240770, len: 78 -Update lsn: 938, time: 1338903440.240797, len: 78 -Update lsn: 939, time: 1338903440.240823, len: 78 -Update lsn: 940, time: 1338903440.240851, len: 78 -Update lsn: 941, time: 1338903440.240879, len: 78 -Update lsn: 942, time: 1338903440.240906, len: 78 -Update lsn: 943, time: 1338903440.240934, len: 78 -Update lsn: 944, time: 1338903440.240961, len: 78 -Update lsn: 945, time: 1338903440.240988, len: 78 -Update lsn: 946, time: 1338903440.241016, len: 78 -Update lsn: 947, time: 1338903440.241044, len: 78 -Update lsn: 948, time: 1338903440.241071, len: 78 -Update lsn: 949, time: 1338903440.241097, len: 78 -Update lsn: 950, time: 1338903440.241124, len: 78 -Update lsn: 951, time: 1338903440.241152, len: 78 -Update lsn: 952, time: 1338903440.241179, len: 78 -Update lsn: 953, time: 1338903440.241206, len: 78 -Update lsn: 954, time: 1338903440.241233, len: 78 -Update lsn: 955, time: 1338903440.241260, len: 78 -Update lsn: 956, time: 1338903440.241287, len: 78 -Update lsn: 957, time: 1338903440.241314, len: 78 -Update lsn: 958, time: 1338903440.241341, len: 78 -Update lsn: 959, time: 1338903440.241369, len: 78 -Update lsn: 960, time: 1338903440.241396, len: 78 -Update lsn: 961, time: 1338903440.241424, len: 78 -Update lsn: 962, time: 1338903440.241451, len: 78 -Update lsn: 963, time: 1338903440.241478, len: 78 -Update lsn: 964, time: 1338903440.241524, len: 78 -Update lsn: 965, time: 1338903440.241552, len: 78 -Update lsn: 966, time: 1338903440.241604, len: 78 -Update lsn: 967, time: 1338903440.241632, len: 78 -Update lsn: 968, time: 1338903440.241661, len: 78 -Update lsn: 969, time: 1338903440.241688, len: 78 -Update lsn: 970, time: 1338903440.241715, len: 78 -Update lsn: 971, time: 1338903440.241741, len: 78 -Update lsn: 972, time: 1338903440.241769, len: 78 -Update lsn: 973, time: 1338903440.241796, len: 78 -Update lsn: 974, time: 1338903440.241823, len: 78 -Update lsn: 975, time: 1338903440.241851, len: 78 -Update lsn: 976, time: 1338903440.241879, len: 78 -Update lsn: 977, time: 1338903440.241909, len: 78 -Update lsn: 978, time: 1338903440.241935, len: 78 -Update lsn: 979, time: 1338903440.241962, len: 78 -Update lsn: 980, time: 1338903440.241990, len: 78 -Update lsn: 981, time: 1338903440.242017, len: 78 -Update lsn: 982, time: 1338903440.242044, len: 78 -Update lsn: 983, time: 1338903440.242071, len: 78 -Update lsn: 984, time: 1338903440.242099, len: 78 -Update lsn: 985, time: 1338903440.242126, len: 78 -Update lsn: 986, time: 1338903440.242154, len: 78 -Update lsn: 987, time: 1338903440.242181, len: 78 -Update lsn: 988, time: 1338903440.242208, len: 78 -Update lsn: 989, time: 1338903440.242236, len: 78 -Update lsn: 990, time: 1338903440.242263, len: 78 -Update lsn: 991, time: 1338903440.242290, len: 78 -Update lsn: 992, time: 1338903440.242317, len: 78 -Update lsn: 993, time: 1338903440.242343, len: 78 -Update lsn: 994, time: 1338903440.242370, len: 78 -Update lsn: 995, time: 1338903440.242398, len: 78 -Update lsn: 996, time: 1338903440.242425, len: 78 -Update lsn: 997, time: 1338903440.242452, len: 78 -Update lsn: 998, time: 1338903440.242479, len: 78 -Update lsn: 999, time: 1338903440.242506, len: 78 -Update lsn: 1000, time: 1338903440.242534, len: 78 -Update lsn: 1001, time: 1338903440.242582, len: 78 -Update lsn: 1002, time: 1338903440.243265, len: 109 -Update lsn: 1003, time: 1338903440.243367, len: 109 -Update lsn: 1004, time: 1338903440.243399, len: 109 -Update lsn: 1005, time: 1338903440.243427, len: 109 -Update lsn: 1006, time: 1338903440.243455, len: 109 -Update lsn: 1007, time: 1338903440.243484, len: 109 -Update lsn: 1008, time: 1338903440.243512, len: 109 -Update lsn: 1009, time: 1338903440.243540, len: 109 -Update lsn: 1010, time: 1338903440.243569, len: 109 -Update lsn: 1011, time: 1338903440.243598, len: 109 -Update lsn: 1012, time: 1338903440.243626, len: 110 -Update lsn: 1013, time: 1338903440.243654, len: 110 -Update lsn: 1014, time: 1338903440.243681, len: 110 -Update lsn: 1015, time: 1338903440.243710, len: 110 -Update lsn: 1016, time: 1338903440.243738, len: 110 -Update lsn: 1017, time: 1338903440.243767, len: 110 -Update lsn: 1018, time: 1338903440.243796, len: 110 -Update lsn: 1019, time: 1338903440.243826, len: 110 -Update lsn: 1020, time: 1338903440.243855, len: 110 -Update lsn: 1021, time: 1338903440.243883, len: 110 -Update lsn: 1022, time: 1338903440.243913, len: 110 -Update lsn: 1023, time: 1338903440.243941, len: 110 -Update lsn: 1024, time: 1338903440.243968, len: 110 -Update lsn: 1025, time: 1338903440.243996, len: 110 -Update lsn: 1026, time: 1338903440.244023, len: 110 -Update lsn: 1027, time: 1338903440.244049, len: 110 -Update lsn: 1028, time: 1338903440.244076, len: 110 -Update lsn: 1029, time: 1338903440.244103, len: 110 -Update lsn: 1030, time: 1338903440.244164, len: 110 -Update lsn: 1031, time: 1338903440.244193, len: 110 -Update lsn: 1032, time: 1338903440.244220, len: 110 -Update lsn: 1033, time: 1338903440.244246, len: 110 -Update lsn: 1034, time: 1338903440.244272, len: 110 -Update lsn: 1035, time: 1338903440.244299, len: 110 -Update lsn: 1036, time: 1338903440.244325, len: 110 -Update lsn: 1037, time: 1338903440.244351, len: 110 -Update lsn: 1038, time: 1338903440.244378, len: 110 -Update lsn: 1039, time: 1338903440.244404, len: 110 -Update lsn: 1040, time: 1338903440.244431, len: 110 -Update lsn: 1041, time: 1338903440.244457, len: 110 -Update lsn: 1042, time: 1338903440.244483, len: 110 -Update lsn: 1043, time: 1338903440.244509, len: 110 -Update lsn: 1044, time: 1338903440.244535, len: 110 -Update lsn: 1045, time: 1338903440.244561, len: 110 -Update lsn: 1046, time: 1338903440.244587, len: 110 -Update lsn: 1047, time: 1338903440.244613, len: 110 -Update lsn: 1048, time: 1338903440.244640, len: 110 -Update lsn: 1049, time: 1338903440.244666, len: 110 -Update lsn: 1050, time: 1338903440.244692, len: 110 -Update lsn: 1051, time: 1338903440.244718, len: 110 -Update lsn: 1052, time: 1338903440.244744, len: 110 -Update lsn: 1053, time: 1338903440.244771, len: 110 -Update lsn: 1054, time: 1338903440.244798, len: 110 -Update lsn: 1055, time: 1338903440.244827, len: 110 -Update lsn: 1056, time: 1338903440.244854, len: 110 -Update lsn: 1057, time: 1338903440.244881, len: 110 -Update lsn: 1058, time: 1338903440.244936, len: 110 -Update lsn: 1059, time: 1338903440.244995, len: 110 -Update lsn: 1060, time: 1338903440.245028, len: 110 -Update lsn: 1061, time: 1338903440.245057, len: 110 -Update lsn: 1062, time: 1338903440.245086, len: 110 -Update lsn: 1063, time: 1338903440.245115, len: 110 -Update lsn: 1064, time: 1338903440.245142, len: 110 -Update lsn: 1065, time: 1338903440.245169, len: 110 -Update lsn: 1066, time: 1338903440.245196, len: 110 -Update lsn: 1067, time: 1338903440.245222, len: 110 -Update lsn: 1068, time: 1338903440.245248, len: 110 -Update lsn: 1069, time: 1338903440.245275, len: 110 -Update lsn: 1070, time: 1338903440.245302, len: 110 -Update lsn: 1071, time: 1338903440.245329, len: 110 -Update lsn: 1072, time: 1338903440.245355, len: 110 -Update lsn: 1073, time: 1338903440.245382, len: 110 -Update lsn: 1074, time: 1338903440.245408, len: 110 -Update lsn: 1075, time: 1338903440.245435, len: 110 -Update lsn: 1076, time: 1338903440.245462, len: 110 -Update lsn: 1077, time: 1338903440.245491, len: 110 -Update lsn: 1078, time: 1338903440.245518, len: 110 -Update lsn: 1079, time: 1338903440.245545, len: 110 -Update lsn: 1080, time: 1338903440.245572, len: 110 -Update lsn: 1081, time: 1338903440.245600, len: 110 -Update lsn: 1082, time: 1338903440.245628, len: 110 -Update lsn: 1083, time: 1338903440.245656, len: 110 -Update lsn: 1084, time: 1338903440.245683, len: 110 -Update lsn: 1085, time: 1338903440.245709, len: 110 -Update lsn: 1086, time: 1338903440.245736, len: 110 -Update lsn: 1087, time: 1338903440.245763, len: 110 -Update lsn: 1088, time: 1338903440.245815, len: 110 -Update lsn: 1089, time: 1338903440.245847, len: 110 -Update lsn: 1090, time: 1338903440.245874, len: 110 -Update lsn: 1091, time: 1338903440.245900, len: 110 -Update lsn: 1092, time: 1338903440.245928, len: 110 -Update lsn: 1093, time: 1338903440.245955, len: 110 -Update lsn: 1094, time: 1338903440.245983, len: 110 -Update lsn: 1095, time: 1338903440.246011, len: 110 -Update lsn: 1096, time: 1338903440.246040, len: 110 -Update lsn: 1097, time: 1338903440.246068, len: 110 -Update lsn: 1098, time: 1338903440.246097, len: 110 -Update lsn: 1099, time: 1338903440.246124, len: 110 -Update lsn: 1100, time: 1338903440.246151, len: 110 -Update lsn: 1101, time: 1338903440.246177, len: 110 -Update lsn: 1102, time: 1338903440.246866, len: 175 -Update lsn: 1103, time: 1338903440.246967, len: 175 -Update lsn: 1104, time: 1338903440.247000, len: 175 -Update lsn: 1105, time: 1338903440.247028, len: 175 -Update lsn: 1106, time: 1338903440.247058, len: 175 -Update lsn: 1107, time: 1338903440.247086, len: 175 -Update lsn: 1108, time: 1338903440.247115, len: 175 -Update lsn: 1109, time: 1338903440.247144, len: 175 -Update lsn: 1110, time: 1338903440.247173, len: 175 -Update lsn: 1111, time: 1338903440.247202, len: 175 -Update lsn: 1112, time: 1338903440.247263, len: 176 -Update lsn: 1113, time: 1338903440.247297, len: 176 -Update lsn: 1114, time: 1338903440.247326, len: 176 -Update lsn: 1115, time: 1338903440.247355, len: 176 -Update lsn: 1116, time: 1338903440.247384, len: 176 -Update lsn: 1117, time: 1338903440.247415, len: 176 -Update lsn: 1118, time: 1338903440.247444, len: 176 -Update lsn: 1119, time: 1338903440.247473, len: 176 -Update lsn: 1120, time: 1338903440.247503, len: 176 -Update lsn: 1121, time: 1338903440.247531, len: 176 -Update lsn: 1122, time: 1338903440.247559, len: 176 -Update lsn: 1123, time: 1338903440.247586, len: 176 -Update lsn: 1124, time: 1338903440.247614, len: 176 -Update lsn: 1125, time: 1338903440.247641, len: 176 -Update lsn: 1126, time: 1338903440.247668, len: 176 -Update lsn: 1127, time: 1338903440.247695, len: 176 -Update lsn: 1128, time: 1338903440.247722, len: 176 -Update lsn: 1129, time: 1338903440.247749, len: 176 -Update lsn: 1130, time: 1338903440.247775, len: 176 -Update lsn: 1131, time: 1338903440.247801, len: 176 -Update lsn: 1132, time: 1338903440.247851, len: 176 -Update lsn: 1133, time: 1338903440.247880, len: 176 -Update lsn: 1134, time: 1338903440.247906, len: 176 -Update lsn: 1135, time: 1338903440.247932, len: 176 -Update lsn: 1136, time: 1338903440.247960, len: 176 -Update lsn: 1137, time: 1338903440.247986, len: 176 -Update lsn: 1138, time: 1338903440.248012, len: 176 -Update lsn: 1139, time: 1338903440.248039, len: 176 -Update lsn: 1140, time: 1338903440.248065, len: 176 -Update lsn: 1141, time: 1338903440.248092, len: 176 -Update lsn: 1142, time: 1338903440.248118, len: 176 -Update lsn: 1143, time: 1338903440.248146, len: 176 -Update lsn: 1144, time: 1338903440.248173, len: 176 -Update lsn: 1145, time: 1338903440.248201, len: 176 -Update lsn: 1146, time: 1338903440.248250, len: 176 -Update lsn: 1147, time: 1338903440.248282, len: 176 -Update lsn: 1148, time: 1338903440.248311, len: 176 -Update lsn: 1149, time: 1338903440.248339, len: 176 -Update lsn: 1150, time: 1338903440.248367, len: 176 -Update lsn: 1151, time: 1338903440.248394, len: 176 -Update lsn: 1152, time: 1338903440.248443, len: 176 -Update lsn: 1153, time: 1338903440.248471, len: 176 -Update lsn: 1154, time: 1338903440.248498, len: 176 -Update lsn: 1155, time: 1338903440.248525, len: 176 -Update lsn: 1156, time: 1338903440.248553, len: 176 -Update lsn: 1157, time: 1338903440.248579, len: 176 -Update lsn: 1158, time: 1338903440.248606, len: 176 -Update lsn: 1159, time: 1338903440.248633, len: 176 -Update lsn: 1160, time: 1338903440.248659, len: 176 -Update lsn: 1161, time: 1338903440.248686, len: 176 -Update lsn: 1162, time: 1338903440.248713, len: 176 -Update lsn: 1163, time: 1338903440.248740, len: 176 -Update lsn: 1164, time: 1338903440.248767, len: 176 -Update lsn: 1165, time: 1338903440.248794, len: 176 -Update lsn: 1166, time: 1338903440.248821, len: 176 -Update lsn: 1167, time: 1338903440.248849, len: 176 -Update lsn: 1168, time: 1338903440.248876, len: 176 -Update lsn: 1169, time: 1338903440.248904, len: 176 -Update lsn: 1170, time: 1338903440.248932, len: 176 -Update lsn: 1171, time: 1338903440.248982, len: 176 -Update lsn: 1172, time: 1338903440.249012, len: 176 -Update lsn: 1173, time: 1338903440.249038, len: 176 -Update lsn: 1174, time: 1338903440.249064, len: 176 -Update lsn: 1175, time: 1338903440.249091, len: 176 -Update lsn: 1176, time: 1338903440.249120, len: 176 -Update lsn: 1177, time: 1338903440.249149, len: 176 -Update lsn: 1178, time: 1338903440.249179, len: 176 -Update lsn: 1179, time: 1338903440.249208, len: 176 -Update lsn: 1180, time: 1338903440.249237, len: 176 -Update lsn: 1181, time: 1338903440.249265, len: 176 -Update lsn: 1182, time: 1338903440.249292, len: 176 -Update lsn: 1183, time: 1338903440.249320, len: 176 -Update lsn: 1184, time: 1338903440.249347, len: 176 -Update lsn: 1185, time: 1338903440.249375, len: 176 -Update lsn: 1186, time: 1338903440.249404, len: 176 -Update lsn: 1187, time: 1338903440.249431, len: 176 -Update lsn: 1188, time: 1338903440.249460, len: 176 -Update lsn: 1189, time: 1338903440.249490, len: 176 -Update lsn: 1190, time: 1338903440.249517, len: 176 -Update lsn: 1191, time: 1338903440.249563, len: 176 -Update lsn: 1192, time: 1338903440.249593, len: 176 -Update lsn: 1193, time: 1338903440.249621, len: 176 -Update lsn: 1194, time: 1338903440.249648, len: 176 -Update lsn: 1195, time: 1338903440.249676, len: 176 -Update lsn: 1196, time: 1338903440.249705, len: 176 -Update lsn: 1197, time: 1338903440.249733, len: 176 -Update lsn: 1198, time: 1338903440.249761, len: 176 -Update lsn: 1199, time: 1338903440.249789, len: 176 -Update lsn: 1200, time: 1338903440.249816, len: 176 -Update lsn: 1201, time: 1338903440.249846, len: 176 - -Insert lsn: 2, time: 1338903440.187947, len: 68 -Insert lsn: 3, time: 1338903440.190419, len: 68 -Insert lsn: 4, time: 1338903440.190539, len: 68 -Insert lsn: 5, time: 1338903440.190582, len: 68 -Insert lsn: 6, time: 1338903440.190608, len: 68 -Insert lsn: 7, time: 1338903440.190633, len: 68 -Insert lsn: 8, time: 1338903440.190657, len: 68 -Insert lsn: 9, time: 1338903440.190681, len: 68 -Insert lsn: 10, time: 1338903440.190712, len: 68 -Insert lsn: 11, time: 1338903440.190736, len: 68 -Insert lsn: 12, time: 1338903440.190762, len: 69 -Insert lsn: 13, time: 1338903440.190785, len: 69 -Insert lsn: 14, time: 1338903440.190810, len: 69 -Insert lsn: 15, time: 1338903440.190834, len: 69 -Insert lsn: 16, time: 1338903440.190858, len: 69 -Insert lsn: 17, time: 1338903440.190883, len: 69 -Insert lsn: 18, time: 1338903440.190908, len: 69 -Insert lsn: 19, time: 1338903440.190942, len: 69 -Insert lsn: 20, time: 1338903440.190967, len: 69 -Insert lsn: 21, time: 1338903440.190992, len: 69 -Insert lsn: 22, time: 1338903440.191015, len: 69 -Insert lsn: 23, time: 1338903440.191040, len: 69 -Insert lsn: 24, time: 1338903440.191064, len: 69 -Insert lsn: 25, time: 1338903440.191088, len: 69 -Insert lsn: 26, time: 1338903440.191112, len: 69 -Insert lsn: 27, time: 1338903440.191138, len: 69 -Insert lsn: 28, time: 1338903440.191163, len: 69 -Insert lsn: 29, time: 1338903440.191188, len: 69 -Insert lsn: 30, time: 1338903440.191213, len: 69 -Insert lsn: 31, time: 1338903440.191238, len: 69 -Insert lsn: 32, time: 1338903440.191262, len: 69 -Insert lsn: 33, time: 1338903440.191284, len: 69 -Insert lsn: 34, time: 1338903440.191319, len: 69 -Insert lsn: 35, time: 1338903440.191344, len: 69 -Insert lsn: 36, time: 1338903440.191369, len: 69 -Insert lsn: 37, time: 1338903440.191393, len: 69 -Insert lsn: 38, time: 1338903440.191417, len: 69 -Insert lsn: 39, time: 1338903440.191441, len: 69 -Insert lsn: 40, time: 1338903440.191479, len: 69 -Insert lsn: 41, time: 1338903440.191503, len: 69 -Insert lsn: 42, time: 1338903440.191526, len: 69 -Insert lsn: 43, time: 1338903440.191603, len: 69 -Insert lsn: 44, time: 1338903440.191632, len: 69 -Insert lsn: 45, time: 1338903440.191655, len: 69 -Insert lsn: 46, time: 1338903440.191681, len: 69 -Insert lsn: 47, time: 1338903440.191704, len: 69 -Insert lsn: 48, time: 1338903440.191727, len: 69 -Insert lsn: 49, time: 1338903440.191750, len: 69 -Insert lsn: 50, time: 1338903440.191774, len: 69 -Insert lsn: 51, time: 1338903440.191797, len: 69 -Insert lsn: 52, time: 1338903440.191820, len: 69 -Insert lsn: 53, time: 1338903440.191844, len: 69 -Insert lsn: 54, time: 1338903440.191874, len: 69 -Insert lsn: 55, time: 1338903440.191897, len: 69 -Insert lsn: 56, time: 1338903440.191921, len: 69 -Insert lsn: 57, time: 1338903440.191944, len: 69 -Insert lsn: 58, time: 1338903440.191967, len: 69 -Insert lsn: 59, time: 1338903440.191992, len: 69 -Insert lsn: 60, time: 1338903440.192016, len: 69 -Insert lsn: 61, time: 1338903440.192039, len: 69 -Insert lsn: 62, time: 1338903440.192063, len: 69 -Insert lsn: 63, time: 1338903440.192086, len: 69 -Insert lsn: 64, time: 1338903440.192111, len: 69 -Insert lsn: 65, time: 1338903440.192134, len: 69 -Insert lsn: 66, time: 1338903440.192164, len: 69 -Insert lsn: 67, time: 1338903440.192188, len: 69 -Insert lsn: 68, time: 1338903440.192212, len: 69 -Insert lsn: 69, time: 1338903440.192235, len: 69 -Insert lsn: 70, time: 1338903440.192278, len: 69 -Insert lsn: 71, time: 1338903440.192302, len: 69 -Insert lsn: 72, time: 1338903440.192327, len: 69 -Insert lsn: 73, time: 1338903440.192351, len: 69 -Insert lsn: 74, time: 1338903440.192376, len: 69 -Insert lsn: 75, time: 1338903440.192401, len: 69 -Insert lsn: 76, time: 1338903440.192424, len: 69 -Insert lsn: 77, time: 1338903440.192449, len: 69 -Insert lsn: 78, time: 1338903440.192473, len: 69 -Insert lsn: 79, time: 1338903440.192497, len: 69 -Insert lsn: 80, time: 1338903440.192521, len: 69 -Insert lsn: 81, time: 1338903440.192545, len: 69 -Insert lsn: 82, time: 1338903440.192569, len: 69 -Insert lsn: 83, time: 1338903440.192593, len: 69 -Insert lsn: 84, time: 1338903440.192642, len: 69 -Insert lsn: 85, time: 1338903440.192670, len: 69 -Insert lsn: 86, time: 1338903440.192701, len: 69 -Insert lsn: 87, time: 1338903440.192726, len: 69 -Insert lsn: 88, time: 1338903440.192749, len: 69 -Insert lsn: 89, time: 1338903440.192773, len: 69 -Insert lsn: 90, time: 1338903440.192798, len: 69 -Insert lsn: 91, time: 1338903440.192822, len: 69 -Insert lsn: 92, time: 1338903440.192846, len: 69 -Insert lsn: 93, time: 1338903440.192871, len: 69 -Insert lsn: 94, time: 1338903440.192896, len: 69 -Insert lsn: 95, time: 1338903440.192921, len: 69 -Insert lsn: 96, time: 1338903440.192946, len: 69 -Insert lsn: 97, time: 1338903440.192970, len: 69 -Insert lsn: 98, time: 1338903440.192993, len: 69 -Insert lsn: 99, time: 1338903440.193017, len: 69 -Insert lsn: 100, time: 1338903440.193042, len: 69 -Insert lsn: 101, time: 1338903440.193065, len: 69 -Insert lsn: 102, time: 1338903440.193547, len: 100 -Insert lsn: 103, time: 1338903440.207494, len: 100 -Insert lsn: 104, time: 1338903440.207539, len: 100 -Insert lsn: 105, time: 1338903440.207564, len: 100 -Insert lsn: 106, time: 1338903440.207613, len: 100 -Insert lsn: 107, time: 1338903440.207639, len: 100 -Insert lsn: 108, time: 1338903440.207665, len: 100 -Insert lsn: 109, time: 1338903440.207690, len: 100 -Insert lsn: 110, time: 1338903440.207717, len: 100 -Insert lsn: 111, time: 1338903440.207745, len: 100 -Insert lsn: 112, time: 1338903440.207770, len: 101 -Insert lsn: 113, time: 1338903440.207795, len: 101 -Insert lsn: 114, time: 1338903440.207819, len: 101 -Insert lsn: 115, time: 1338903440.207844, len: 101 -Insert lsn: 116, time: 1338903440.207870, len: 101 -Insert lsn: 117, time: 1338903440.207895, len: 101 -Insert lsn: 118, time: 1338903440.207918, len: 101 -Insert lsn: 119, time: 1338903440.207976, len: 101 -Insert lsn: 120, time: 1338903440.208004, len: 101 -Insert lsn: 121, time: 1338903440.208029, len: 101 -Insert lsn: 122, time: 1338903440.208054, len: 101 -Insert lsn: 123, time: 1338903440.208078, len: 101 -Insert lsn: 124, time: 1338903440.208119, len: 101 -Insert lsn: 125, time: 1338903440.208144, len: 101 -Insert lsn: 126, time: 1338903440.208168, len: 101 -Insert lsn: 127, time: 1338903440.208193, len: 101 -Insert lsn: 128, time: 1338903440.208218, len: 101 -Insert lsn: 129, time: 1338903440.208291, len: 101 -Insert lsn: 130, time: 1338903440.208318, len: 101 -Insert lsn: 131, time: 1338903440.208343, len: 101 -Insert lsn: 132, time: 1338903440.208370, len: 101 -Insert lsn: 133, time: 1338903440.208396, len: 101 -Insert lsn: 134, time: 1338903440.208422, len: 101 -Insert lsn: 135, time: 1338903440.208447, len: 101 -Insert lsn: 136, time: 1338903440.208473, len: 101 -Insert lsn: 137, time: 1338903440.208499, len: 101 -Insert lsn: 138, time: 1338903440.208561, len: 101 -Insert lsn: 139, time: 1338903440.208586, len: 101 -Insert lsn: 140, time: 1338903440.208610, len: 101 -Insert lsn: 141, time: 1338903440.208634, len: 101 -Insert lsn: 142, time: 1338903440.208664, len: 101 -Insert lsn: 143, time: 1338903440.208688, len: 101 -Insert lsn: 144, time: 1338903440.208712, len: 101 -Insert lsn: 145, time: 1338903440.208735, len: 101 -Insert lsn: 146, time: 1338903440.208760, len: 101 -Insert lsn: 147, time: 1338903440.208783, len: 101 -Insert lsn: 148, time: 1338903440.208807, len: 101 -Insert lsn: 149, time: 1338903440.208831, len: 101 -Insert lsn: 150, time: 1338903440.208875, len: 101 -Insert lsn: 151, time: 1338903440.208900, len: 101 -Insert lsn: 152, time: 1338903440.208924, len: 101 -Insert lsn: 153, time: 1338903440.208947, len: 101 -Insert lsn: 154, time: 1338903440.208971, len: 101 -Insert lsn: 155, time: 1338903440.208994, len: 101 -Insert lsn: 156, time: 1338903440.209018, len: 101 -Insert lsn: 157, time: 1338903440.209043, len: 101 -Insert lsn: 158, time: 1338903440.209066, len: 101 -Insert lsn: 159, time: 1338903440.209090, len: 101 -Insert lsn: 160, time: 1338903440.209126, len: 101 -Insert lsn: 161, time: 1338903440.209151, len: 101 -Insert lsn: 162, time: 1338903440.209175, len: 101 -Insert lsn: 163, time: 1338903440.209199, len: 101 -Insert lsn: 164, time: 1338903440.209223, len: 101 -Insert lsn: 165, time: 1338903440.209247, len: 101 -Insert lsn: 166, time: 1338903440.209296, len: 101 -Insert lsn: 167, time: 1338903440.209320, len: 101 -Insert lsn: 168, time: 1338903440.209344, len: 101 -Insert lsn: 169, time: 1338903440.209367, len: 101 -Insert lsn: 170, time: 1338903440.209390, len: 101 -Insert lsn: 171, time: 1338903440.209414, len: 101 -Insert lsn: 172, time: 1338903440.209438, len: 101 -Insert lsn: 173, time: 1338903440.209461, len: 101 -Insert lsn: 174, time: 1338903440.209485, len: 101 -Insert lsn: 175, time: 1338903440.209509, len: 101 -Insert lsn: 176, time: 1338903440.209533, len: 101 -Insert lsn: 177, time: 1338903440.209564, len: 101 -Insert lsn: 178, time: 1338903440.209589, len: 101 -Insert lsn: 179, time: 1338903440.209613, len: 101 -Insert lsn: 180, time: 1338903440.209637, len: 101 -Insert lsn: 181, time: 1338903440.209678, len: 101 -Insert lsn: 182, time: 1338903440.209703, len: 101 -Insert lsn: 183, time: 1338903440.209745, len: 101 -Insert lsn: 184, time: 1338903440.209770, len: 101 -Insert lsn: 185, time: 1338903440.209794, len: 101 -Insert lsn: 186, time: 1338903440.209819, len: 101 -Insert lsn: 187, time: 1338903440.209842, len: 101 -Insert lsn: 188, time: 1338903440.209866, len: 101 -Insert lsn: 189, time: 1338903440.209889, len: 101 -Insert lsn: 190, time: 1338903440.209913, len: 101 -Insert lsn: 191, time: 1338903440.209937, len: 101 -Insert lsn: 192, time: 1338903440.209961, len: 101 -Insert lsn: 193, time: 1338903440.209985, len: 101 -Insert lsn: 194, time: 1338903440.210010, len: 101 -Insert lsn: 195, time: 1338903440.210041, len: 101 -Insert lsn: 196, time: 1338903440.210065, len: 101 -Insert lsn: 197, time: 1338903440.210088, len: 101 -Insert lsn: 198, time: 1338903440.210112, len: 101 -Insert lsn: 199, time: 1338903440.210135, len: 101 -Insert lsn: 200, time: 1338903440.210160, len: 101 -Insert lsn: 201, time: 1338903440.210183, len: 101 -Insert lsn: 202, time: 1338903440.210887, len: 166 -Insert lsn: 203, time: 1338903440.213901, len: 166 -Insert lsn: 204, time: 1338903440.213959, len: 166 -Insert lsn: 205, time: 1338903440.213986, len: 166 -Insert lsn: 206, time: 1338903440.214033, len: 166 -Insert lsn: 207, time: 1338903440.214060, len: 166 -Insert lsn: 208, time: 1338903440.214119, len: 166 -Insert lsn: 209, time: 1338903440.214145, len: 166 -Insert lsn: 210, time: 1338903440.214170, len: 166 -Insert lsn: 211, time: 1338903440.214196, len: 166 -Insert lsn: 212, time: 1338903440.214221, len: 167 -Insert lsn: 213, time: 1338903440.214246, len: 167 -Insert lsn: 214, time: 1338903440.214271, len: 167 -Insert lsn: 215, time: 1338903440.214297, len: 167 -Insert lsn: 216, time: 1338903440.214322, len: 167 -Insert lsn: 217, time: 1338903440.214347, len: 167 -Insert lsn: 218, time: 1338903440.214373, len: 167 -Insert lsn: 219, time: 1338903440.214398, len: 167 -Insert lsn: 220, time: 1338903440.214430, len: 167 -Insert lsn: 221, time: 1338903440.214456, len: 167 -Insert lsn: 222, time: 1338903440.214482, len: 167 -Insert lsn: 223, time: 1338903440.214507, len: 167 -Insert lsn: 224, time: 1338903440.214531, len: 167 -Insert lsn: 225, time: 1338903440.214556, len: 167 -Insert lsn: 226, time: 1338903440.214580, len: 167 -Insert lsn: 227, time: 1338903440.214604, len: 167 -Insert lsn: 228, time: 1338903440.214628, len: 167 -Insert lsn: 229, time: 1338903440.214673, len: 167 -Insert lsn: 230, time: 1338903440.214703, len: 167 -Insert lsn: 231, time: 1338903440.214729, len: 167 -Insert lsn: 232, time: 1338903440.214753, len: 167 -Insert lsn: 233, time: 1338903440.214778, len: 167 -Insert lsn: 234, time: 1338903440.214828, len: 167 -Insert lsn: 235, time: 1338903440.214853, len: 167 -Insert lsn: 236, time: 1338903440.214878, len: 167 -Insert lsn: 237, time: 1338903440.214927, len: 167 -Insert lsn: 238, time: 1338903440.214953, len: 167 -Insert lsn: 239, time: 1338903440.214980, len: 167 -Insert lsn: 240, time: 1338903440.215005, len: 167 -Insert lsn: 241, time: 1338903440.215030, len: 167 -Insert lsn: 242, time: 1338903440.215055, len: 167 -Insert lsn: 243, time: 1338903440.215080, len: 167 -Insert lsn: 244, time: 1338903440.215105, len: 167 -Insert lsn: 245, time: 1338903440.215131, len: 167 -Insert lsn: 246, time: 1338903440.215157, len: 167 -Insert lsn: 247, time: 1338903440.215190, len: 167 -Insert lsn: 248, time: 1338903440.215215, len: 167 -Insert lsn: 249, time: 1338903440.215277, len: 167 -Insert lsn: 250, time: 1338903440.215327, len: 167 -Insert lsn: 251, time: 1338903440.215356, len: 167 -Insert lsn: 252, time: 1338903440.215382, len: 167 -Insert lsn: 253, time: 1338903440.215407, len: 167 -Insert lsn: 254, time: 1338903440.215432, len: 167 -Insert lsn: 255, time: 1338903440.215459, len: 167 -Insert lsn: 256, time: 1338903440.215486, len: 167 -Insert lsn: 257, time: 1338903440.215513, len: 167 -Insert lsn: 258, time: 1338903440.215539, len: 167 -Insert lsn: 259, time: 1338903440.215563, len: 167 -Insert lsn: 260, time: 1338903440.215590, len: 167 -Insert lsn: 261, time: 1338903440.215623, len: 167 -Insert lsn: 262, time: 1338903440.215649, len: 167 -Insert lsn: 263, time: 1338903440.215675, len: 167 -Insert lsn: 264, time: 1338903440.215699, len: 167 -Insert lsn: 265, time: 1338903440.215723, len: 167 -Insert lsn: 266, time: 1338903440.215748, len: 167 -Insert lsn: 267, time: 1338903440.215773, len: 167 -Insert lsn: 268, time: 1338903440.215797, len: 167 -Insert lsn: 269, time: 1338903440.215822, len: 167 -Insert lsn: 270, time: 1338903440.215866, len: 167 -Insert lsn: 271, time: 1338903440.215894, len: 167 -Insert lsn: 272, time: 1338903440.215918, len: 167 -Insert lsn: 273, time: 1338903440.215942, len: 167 -Insert lsn: 274, time: 1338903440.215968, len: 167 -Insert lsn: 275, time: 1338903440.216054, len: 167 -Insert lsn: 276, time: 1338903440.216105, len: 167 -Insert lsn: 277, time: 1338903440.216130, len: 167 -Insert lsn: 278, time: 1338903440.216155, len: 167 -Insert lsn: 279, time: 1338903440.216181, len: 167 -Insert lsn: 280, time: 1338903440.216207, len: 167 -Insert lsn: 281, time: 1338903440.216231, len: 167 -Insert lsn: 282, time: 1338903440.216256, len: 167 -Insert lsn: 283, time: 1338903440.216281, len: 167 -Insert lsn: 284, time: 1338903440.216306, len: 167 -Insert lsn: 285, time: 1338903440.216332, len: 167 -Insert lsn: 286, time: 1338903440.216357, len: 167 -Insert lsn: 287, time: 1338903440.216382, len: 167 -Insert lsn: 288, time: 1338903440.216407, len: 167 -Insert lsn: 289, time: 1338903440.216444, len: 167 -Insert lsn: 290, time: 1338903440.216470, len: 167 -Insert lsn: 291, time: 1338903440.216519, len: 167 -Insert lsn: 292, time: 1338903440.216549, len: 167 -Insert lsn: 293, time: 1338903440.216576, len: 167 -Insert lsn: 294, time: 1338903440.216602, len: 167 -Insert lsn: 295, time: 1338903440.216627, len: 167 -Insert lsn: 296, time: 1338903440.216652, len: 167 -Insert lsn: 297, time: 1338903440.216677, len: 167 -Insert lsn: 298, time: 1338903440.216701, len: 167 -Insert lsn: 299, time: 1338903440.216725, len: 167 -Insert lsn: 300, time: 1338903440.216749, len: 167 -Insert lsn: 301, time: 1338903440.216774, len: 167 -Insert lsn: 302, time: 1338903440.217291, len: 68 -Insert lsn: 303, time: 1338903440.217376, len: 68 -Insert lsn: 304, time: 1338903440.217406, len: 68 -Insert lsn: 305, time: 1338903440.217431, len: 68 -Insert lsn: 306, time: 1338903440.217458, len: 68 -Insert lsn: 307, time: 1338903440.217483, len: 68 -Insert lsn: 308, time: 1338903440.217508, len: 68 -Insert lsn: 309, time: 1338903440.217533, len: 68 -Insert lsn: 310, time: 1338903440.217565, len: 68 -Insert lsn: 311, time: 1338903440.217591, len: 68 -Insert lsn: 312, time: 1338903440.217618, len: 69 -Insert lsn: 313, time: 1338903440.217644, len: 69 -Insert lsn: 314, time: 1338903440.217670, len: 69 -Insert lsn: 315, time: 1338903440.217697, len: 69 -Insert lsn: 316, time: 1338903440.217722, len: 69 -Insert lsn: 317, time: 1338903440.217749, len: 69 -Insert lsn: 318, time: 1338903440.217776, len: 69 -Insert lsn: 319, time: 1338903440.217801, len: 69 -Insert lsn: 320, time: 1338903440.217865, len: 69 -Insert lsn: 321, time: 1338903440.217896, len: 69 -Insert lsn: 322, time: 1338903440.217923, len: 69 -Insert lsn: 323, time: 1338903440.217949, len: 69 -Insert lsn: 324, time: 1338903440.217974, len: 69 -Insert lsn: 325, time: 1338903440.218000, len: 69 -Insert lsn: 326, time: 1338903440.218045, len: 69 -Insert lsn: 327, time: 1338903440.218071, len: 69 -Insert lsn: 328, time: 1338903440.218097, len: 69 -Insert lsn: 329, time: 1338903440.218124, len: 69 -Insert lsn: 330, time: 1338903440.218150, len: 69 -Insert lsn: 331, time: 1338903440.218176, len: 69 -Insert lsn: 332, time: 1338903440.218203, len: 69 -Insert lsn: 333, time: 1338903440.218246, len: 69 -Insert lsn: 334, time: 1338903440.218277, len: 69 -Insert lsn: 335, time: 1338903440.218303, len: 69 -Insert lsn: 336, time: 1338903440.218329, len: 69 -Insert lsn: 337, time: 1338903440.218354, len: 69 -Insert lsn: 338, time: 1338903440.218380, len: 69 -Insert lsn: 339, time: 1338903440.218406, len: 69 -Insert lsn: 340, time: 1338903440.218431, len: 69 -Insert lsn: 341, time: 1338903440.218456, len: 69 -Insert lsn: 342, time: 1338903440.218491, len: 69 -Insert lsn: 343, time: 1338903440.218516, len: 69 -Insert lsn: 344, time: 1338903440.218542, len: 69 -Insert lsn: 345, time: 1338903440.218567, len: 69 -Insert lsn: 346, time: 1338903440.218592, len: 69 -Insert lsn: 347, time: 1338903440.218617, len: 69 -Insert lsn: 348, time: 1338903440.218643, len: 69 -Insert lsn: 349, time: 1338903440.218669, len: 69 -Insert lsn: 350, time: 1338903440.218695, len: 69 -Insert lsn: 351, time: 1338903440.218721, len: 69 -Insert lsn: 352, time: 1338903440.218748, len: 69 -Insert lsn: 353, time: 1338903440.218773, len: 69 -Insert lsn: 354, time: 1338903440.218798, len: 69 -Insert lsn: 355, time: 1338903440.218824, len: 69 -Insert lsn: 356, time: 1338903440.218851, len: 69 -Insert lsn: 357, time: 1338903440.218877, len: 69 -Insert lsn: 358, time: 1338903440.218915, len: 69 -Insert lsn: 359, time: 1338903440.218943, len: 69 -Insert lsn: 360, time: 1338903440.218969, len: 69 -Insert lsn: 361, time: 1338903440.219052, len: 69 -Insert lsn: 362, time: 1338903440.219089, len: 69 -Insert lsn: 363, time: 1338903440.219114, len: 69 -Insert lsn: 364, time: 1338903440.219139, len: 69 -Insert lsn: 365, time: 1338903440.219164, len: 69 -Insert lsn: 366, time: 1338903440.219190, len: 69 -Insert lsn: 367, time: 1338903440.219216, len: 69 -Insert lsn: 368, time: 1338903440.219241, len: 69 -Insert lsn: 369, time: 1338903440.219266, len: 69 -Insert lsn: 370, time: 1338903440.219291, len: 69 -Insert lsn: 371, time: 1338903440.219316, len: 69 -Insert lsn: 372, time: 1338903440.219342, len: 69 -Insert lsn: 373, time: 1338903440.219367, len: 69 -Insert lsn: 374, time: 1338903440.219391, len: 69 -Insert lsn: 375, time: 1338903440.219422, len: 69 -Insert lsn: 376, time: 1338903440.219448, len: 69 -Insert lsn: 377, time: 1338903440.219478, len: 69 -Insert lsn: 378, time: 1338903440.219503, len: 69 -Insert lsn: 379, time: 1338903440.219528, len: 69 -Insert lsn: 380, time: 1338903440.219552, len: 69 -Insert lsn: 381, time: 1338903440.219577, len: 69 -Insert lsn: 382, time: 1338903440.219601, len: 69 -Insert lsn: 383, time: 1338903440.219625, len: 69 -Insert lsn: 384, time: 1338903440.219650, len: 69 -Insert lsn: 385, time: 1338903440.219675, len: 69 -Insert lsn: 386, time: 1338903440.219700, len: 69 -Insert lsn: 387, time: 1338903440.219725, len: 69 -Insert lsn: 388, time: 1338903440.219749, len: 69 -Insert lsn: 389, time: 1338903440.219774, len: 69 -Insert lsn: 390, time: 1338903440.219798, len: 69 -Insert lsn: 391, time: 1338903440.219823, len: 69 -Insert lsn: 392, time: 1338903440.219847, len: 69 -Insert lsn: 393, time: 1338903440.219882, len: 69 -Insert lsn: 394, time: 1338903440.219907, len: 69 -Insert lsn: 395, time: 1338903440.219932, len: 69 -Insert lsn: 396, time: 1338903440.219957, len: 69 -Insert lsn: 397, time: 1338903440.219981, len: 69 -Insert lsn: 398, time: 1338903440.220006, len: 69 -Insert lsn: 399, time: 1338903440.220031, len: 69 -Insert lsn: 400, time: 1338903440.220055, len: 69 -Insert lsn: 401, time: 1338903440.220099, len: 69 -Insert lsn: 402, time: 1338903440.220698, len: 100 -Insert lsn: 403, time: 1338903440.220780, len: 100 -Insert lsn: 404, time: 1338903440.220809, len: 100 -Insert lsn: 405, time: 1338903440.220836, len: 100 -Insert lsn: 406, time: 1338903440.220861, len: 100 -Insert lsn: 407, time: 1338903440.220887, len: 100 -Insert lsn: 408, time: 1338903440.220913, len: 100 -Insert lsn: 409, time: 1338903440.220939, len: 100 -Insert lsn: 410, time: 1338903440.220966, len: 100 -Insert lsn: 411, time: 1338903440.220993, len: 100 -Insert lsn: 412, time: 1338903440.221020, len: 101 -Insert lsn: 413, time: 1338903440.221047, len: 101 -Insert lsn: 414, time: 1338903440.221074, len: 101 -Insert lsn: 415, time: 1338903440.221101, len: 101 -Insert lsn: 416, time: 1338903440.221127, len: 101 -Insert lsn: 417, time: 1338903440.221155, len: 101 -Insert lsn: 418, time: 1338903440.221181, len: 101 -Insert lsn: 419, time: 1338903440.221207, len: 101 -Insert lsn: 420, time: 1338903440.221233, len: 101 -Insert lsn: 421, time: 1338903440.221260, len: 101 -Insert lsn: 422, time: 1338903440.221287, len: 101 -Insert lsn: 423, time: 1338903440.221313, len: 101 -Insert lsn: 424, time: 1338903440.221339, len: 101 -Insert lsn: 425, time: 1338903440.221366, len: 101 -Insert lsn: 426, time: 1338903440.221393, len: 101 -Insert lsn: 427, time: 1338903440.221418, len: 101 -Insert lsn: 428, time: 1338903440.221443, len: 101 -Insert lsn: 429, time: 1338903440.221468, len: 101 -Insert lsn: 430, time: 1338903440.221493, len: 101 -Insert lsn: 431, time: 1338903440.221518, len: 101 -Insert lsn: 432, time: 1338903440.221605, len: 101 -Insert lsn: 433, time: 1338903440.221638, len: 101 -Insert lsn: 434, time: 1338903440.221663, len: 101 -Insert lsn: 435, time: 1338903440.221688, len: 101 -Insert lsn: 436, time: 1338903440.221714, len: 101 -Insert lsn: 437, time: 1338903440.221739, len: 101 -Insert lsn: 438, time: 1338903440.221764, len: 101 -Insert lsn: 439, time: 1338903440.221788, len: 101 -Insert lsn: 440, time: 1338903440.221814, len: 101 -Insert lsn: 441, time: 1338903440.221840, len: 101 -Insert lsn: 442, time: 1338903440.221865, len: 101 -Insert lsn: 443, time: 1338903440.221889, len: 101 -Insert lsn: 444, time: 1338903440.221914, len: 101 -Insert lsn: 445, time: 1338903440.221939, len: 101 -Insert lsn: 446, time: 1338903440.221964, len: 101 -Insert lsn: 447, time: 1338903440.221988, len: 101 -Insert lsn: 448, time: 1338903440.222013, len: 101 -Insert lsn: 449, time: 1338903440.222038, len: 101 -Insert lsn: 450, time: 1338903440.222062, len: 101 -Insert lsn: 451, time: 1338903440.222087, len: 101 -Insert lsn: 452, time: 1338903440.222111, len: 101 -Insert lsn: 453, time: 1338903440.222136, len: 101 -Insert lsn: 454, time: 1338903440.222160, len: 101 -Insert lsn: 455, time: 1338903440.222184, len: 101 -Insert lsn: 456, time: 1338903440.222211, len: 101 -Insert lsn: 457, time: 1338903440.222237, len: 101 -Insert lsn: 458, time: 1338903440.222264, len: 101 -Insert lsn: 459, time: 1338903440.222289, len: 101 -Insert lsn: 460, time: 1338903440.222314, len: 101 -Insert lsn: 461, time: 1338903440.222339, len: 101 -Insert lsn: 462, time: 1338903440.222366, len: 101 -Insert lsn: 463, time: 1338903440.222422, len: 101 -Insert lsn: 464, time: 1338903440.222450, len: 101 -Insert lsn: 465, time: 1338903440.222475, len: 101 -Insert lsn: 466, time: 1338903440.222500, len: 101 -Insert lsn: 467, time: 1338903440.222526, len: 101 -Insert lsn: 468, time: 1338903440.222562, len: 101 -Insert lsn: 469, time: 1338903440.222588, len: 101 -Insert lsn: 470, time: 1338903440.222614, len: 101 -Insert lsn: 471, time: 1338903440.222639, len: 101 -Insert lsn: 472, time: 1338903440.222664, len: 101 -Insert lsn: 473, time: 1338903440.222691, len: 101 -Insert lsn: 474, time: 1338903440.222717, len: 101 -Insert lsn: 475, time: 1338903440.222742, len: 101 -Insert lsn: 476, time: 1338903440.222767, len: 101 -Insert lsn: 477, time: 1338903440.222800, len: 101 -Insert lsn: 478, time: 1338903440.222826, len: 101 -Insert lsn: 479, time: 1338903440.222851, len: 101 -Insert lsn: 480, time: 1338903440.222876, len: 101 -Insert lsn: 481, time: 1338903440.222901, len: 101 -Insert lsn: 482, time: 1338903440.222926, len: 101 -Insert lsn: 483, time: 1338903440.222951, len: 101 -Insert lsn: 484, time: 1338903440.222976, len: 101 -Insert lsn: 485, time: 1338903440.223000, len: 101 -Insert lsn: 486, time: 1338903440.223025, len: 101 -Insert lsn: 487, time: 1338903440.223049, len: 101 -Insert lsn: 488, time: 1338903440.223074, len: 101 -Insert lsn: 489, time: 1338903440.223100, len: 101 -Insert lsn: 490, time: 1338903440.223125, len: 101 -Insert lsn: 491, time: 1338903440.223149, len: 101 -Insert lsn: 492, time: 1338903440.223174, len: 101 -Insert lsn: 493, time: 1338903440.223199, len: 101 -Insert lsn: 494, time: 1338903440.223256, len: 101 -Insert lsn: 495, time: 1338903440.223284, len: 101 -Insert lsn: 496, time: 1338903440.223311, len: 101 -Insert lsn: 497, time: 1338903440.223336, len: 101 -Insert lsn: 498, time: 1338903440.223361, len: 101 -Insert lsn: 499, time: 1338903440.223386, len: 101 -Insert lsn: 500, time: 1338903440.223410, len: 101 -Insert lsn: 501, time: 1338903440.223435, len: 101 -Insert lsn: 502, time: 1338903440.224114, len: 166 -Insert lsn: 503, time: 1338903440.224227, len: 166 -Insert lsn: 504, time: 1338903440.224259, len: 166 -Insert lsn: 505, time: 1338903440.224284, len: 166 -Insert lsn: 506, time: 1338903440.224311, len: 166 -Insert lsn: 507, time: 1338903440.224339, len: 166 -Insert lsn: 508, time: 1338903440.224365, len: 166 -Insert lsn: 509, time: 1338903440.224391, len: 166 -Insert lsn: 510, time: 1338903440.224418, len: 166 -Insert lsn: 511, time: 1338903440.224444, len: 166 -Insert lsn: 512, time: 1338903440.224471, len: 167 -Insert lsn: 513, time: 1338903440.224497, len: 167 -Insert lsn: 514, time: 1338903440.224523, len: 167 -Insert lsn: 515, time: 1338903440.224550, len: 167 -Insert lsn: 516, time: 1338903440.224576, len: 167 -Insert lsn: 517, time: 1338903440.224639, len: 167 -Insert lsn: 518, time: 1338903440.224671, len: 167 -Insert lsn: 519, time: 1338903440.224698, len: 167 -Insert lsn: 520, time: 1338903440.224725, len: 167 -Insert lsn: 521, time: 1338903440.224753, len: 167 -Insert lsn: 522, time: 1338903440.224780, len: 167 -Insert lsn: 523, time: 1338903440.224806, len: 167 -Insert lsn: 524, time: 1338903440.224833, len: 167 -Insert lsn: 525, time: 1338903440.224860, len: 167 -Insert lsn: 526, time: 1338903440.224888, len: 167 -Insert lsn: 527, time: 1338903440.224938, len: 167 -Insert lsn: 528, time: 1338903440.224967, len: 167 -Insert lsn: 529, time: 1338903440.224994, len: 167 -Insert lsn: 530, time: 1338903440.225020, len: 167 -Insert lsn: 531, time: 1338903440.225047, len: 167 -Insert lsn: 532, time: 1338903440.225073, len: 167 -Insert lsn: 533, time: 1338903440.225100, len: 167 -Insert lsn: 534, time: 1338903440.225126, len: 167 -Insert lsn: 535, time: 1338903440.225152, len: 167 -Insert lsn: 536, time: 1338903440.225180, len: 167 -Insert lsn: 537, time: 1338903440.225206, len: 167 -Insert lsn: 538, time: 1338903440.225260, len: 167 -Insert lsn: 539, time: 1338903440.225290, len: 167 -Insert lsn: 540, time: 1338903440.225316, len: 167 -Insert lsn: 541, time: 1338903440.225343, len: 167 -Insert lsn: 542, time: 1338903440.225369, len: 167 -Insert lsn: 543, time: 1338903440.225395, len: 167 -Insert lsn: 544, time: 1338903440.225421, len: 167 -Insert lsn: 545, time: 1338903440.225448, len: 167 -Insert lsn: 546, time: 1338903440.225474, len: 167 -Insert lsn: 547, time: 1338903440.225500, len: 167 -Insert lsn: 548, time: 1338903440.225527, len: 167 -Insert lsn: 549, time: 1338903440.225554, len: 167 -Insert lsn: 550, time: 1338903440.225580, len: 167 -Insert lsn: 551, time: 1338903440.225605, len: 167 -Insert lsn: 552, time: 1338903440.225631, len: 167 -Insert lsn: 553, time: 1338903440.225658, len: 167 -Insert lsn: 554, time: 1338903440.225685, len: 167 -Insert lsn: 555, time: 1338903440.225711, len: 167 -Insert lsn: 556, time: 1338903440.225738, len: 167 -Insert lsn: 557, time: 1338903440.225765, len: 167 -Insert lsn: 558, time: 1338903440.225792, len: 167 -Insert lsn: 559, time: 1338903440.225836, len: 167 -Insert lsn: 560, time: 1338903440.225865, len: 167 -Insert lsn: 561, time: 1338903440.225892, len: 167 -Insert lsn: 562, time: 1338903440.225919, len: 167 -Insert lsn: 563, time: 1338903440.225945, len: 167 -Insert lsn: 564, time: 1338903440.225971, len: 167 -Insert lsn: 565, time: 1338903440.225997, len: 167 -Insert lsn: 566, time: 1338903440.226024, len: 167 -Insert lsn: 567, time: 1338903440.226051, len: 167 -Insert lsn: 568, time: 1338903440.226080, len: 167 -Insert lsn: 569, time: 1338903440.226107, len: 167 -Insert lsn: 570, time: 1338903440.226134, len: 167 -Insert lsn: 571, time: 1338903440.226162, len: 167 -Insert lsn: 572, time: 1338903440.226190, len: 167 -Insert lsn: 573, time: 1338903440.226217, len: 167 -Insert lsn: 574, time: 1338903440.226244, len: 167 -Insert lsn: 575, time: 1338903440.226271, len: 167 -Insert lsn: 576, time: 1338903440.226296, len: 167 -Insert lsn: 577, time: 1338903440.226322, len: 167 -Insert lsn: 578, time: 1338903440.226348, len: 167 -Insert lsn: 579, time: 1338903440.226392, len: 167 -Insert lsn: 580, time: 1338903440.226420, len: 167 -Insert lsn: 581, time: 1338903440.226446, len: 167 -Insert lsn: 582, time: 1338903440.226471, len: 167 -Insert lsn: 583, time: 1338903440.226496, len: 167 -Insert lsn: 584, time: 1338903440.226521, len: 167 -Insert lsn: 585, time: 1338903440.226546, len: 167 -Insert lsn: 586, time: 1338903440.226571, len: 167 -Insert lsn: 587, time: 1338903440.226596, len: 167 -Insert lsn: 588, time: 1338903440.226622, len: 167 -Insert lsn: 589, time: 1338903440.226648, len: 167 -Insert lsn: 590, time: 1338903440.226674, len: 167 -Insert lsn: 591, time: 1338903440.226699, len: 167 -Insert lsn: 592, time: 1338903440.226724, len: 167 -Insert lsn: 593, time: 1338903440.226749, len: 167 -Insert lsn: 594, time: 1338903440.226774, len: 167 -Insert lsn: 595, time: 1338903440.226799, len: 167 -Insert lsn: 596, time: 1338903440.226825, len: 167 -Insert lsn: 597, time: 1338903440.226850, len: 167 -Insert lsn: 598, time: 1338903440.226882, len: 167 -Insert lsn: 599, time: 1338903440.226907, len: 167 -Insert lsn: 600, time: 1338903440.226949, len: 167 -Insert lsn: 601, time: 1338903440.226978, len: 167 -Update lsn: 602, time: 1338903440.227788, len: 77 -Update lsn: 603, time: 1338903440.227901, len: 77 -Update lsn: 604, time: 1338903440.227932, len: 77 -Update lsn: 605, time: 1338903440.227961, len: 77 -Update lsn: 606, time: 1338903440.227988, len: 77 -Update lsn: 607, time: 1338903440.228014, len: 77 -Update lsn: 608, time: 1338903440.228041, len: 77 -Update lsn: 609, time: 1338903440.228069, len: 77 -Update lsn: 610, time: 1338903440.228096, len: 77 -Update lsn: 611, time: 1338903440.228123, len: 77 -Update lsn: 612, time: 1338903440.228150, len: 78 -Update lsn: 613, time: 1338903440.228177, len: 78 -Update lsn: 614, time: 1338903440.228204, len: 78 -Update lsn: 615, time: 1338903440.228250, len: 78 -Update lsn: 616, time: 1338903440.228283, len: 78 -Update lsn: 617, time: 1338903440.228311, len: 78 -Update lsn: 618, time: 1338903440.228338, len: 78 -Update lsn: 619, time: 1338903440.228365, len: 78 -Update lsn: 620, time: 1338903440.228393, len: 78 -Update lsn: 621, time: 1338903440.228421, len: 78 -Update lsn: 622, time: 1338903440.228448, len: 78 -Update lsn: 623, time: 1338903440.228475, len: 78 -Update lsn: 624, time: 1338903440.228502, len: 78 -Update lsn: 625, time: 1338903440.228530, len: 78 -Update lsn: 626, time: 1338903440.228556, len: 78 -Update lsn: 627, time: 1338903440.228583, len: 78 -Update lsn: 628, time: 1338903440.228611, len: 78 -Update lsn: 629, time: 1338903440.228639, len: 78 -Update lsn: 630, time: 1338903440.228668, len: 78 -Update lsn: 631, time: 1338903440.228695, len: 78 -Update lsn: 632, time: 1338903440.228723, len: 78 -Update lsn: 633, time: 1338903440.228751, len: 78 -Update lsn: 634, time: 1338903440.228778, len: 78 -Update lsn: 635, time: 1338903440.228838, len: 78 -Update lsn: 636, time: 1338903440.228867, len: 78 -Update lsn: 637, time: 1338903440.228892, len: 78 -Update lsn: 638, time: 1338903440.228918, len: 78 -Update lsn: 639, time: 1338903440.228944, len: 78 -Update lsn: 640, time: 1338903440.228969, len: 78 -Update lsn: 641, time: 1338903440.228995, len: 78 -Update lsn: 642, time: 1338903440.229021, len: 78 -Update lsn: 643, time: 1338903440.229047, len: 78 -Update lsn: 644, time: 1338903440.229073, len: 78 -Update lsn: 645, time: 1338903440.229099, len: 78 -Update lsn: 646, time: 1338903440.229125, len: 78 -Update lsn: 647, time: 1338903440.229150, len: 78 -Update lsn: 648, time: 1338903440.229176, len: 78 -Update lsn: 649, time: 1338903440.229201, len: 78 -Update lsn: 650, time: 1338903440.229228, len: 78 -Update lsn: 651, time: 1338903440.229254, len: 78 -Update lsn: 652, time: 1338903440.229281, len: 78 -Update lsn: 653, time: 1338903440.229307, len: 78 -Update lsn: 654, time: 1338903440.229333, len: 78 -Update lsn: 655, time: 1338903440.229360, len: 78 -Update lsn: 656, time: 1338903440.229386, len: 78 -Update lsn: 657, time: 1338903440.229412, len: 78 -Update lsn: 658, time: 1338903440.229439, len: 78 -Update lsn: 659, time: 1338903440.229465, len: 78 -Update lsn: 660, time: 1338903440.229491, len: 78 -Update lsn: 661, time: 1338903440.229517, len: 78 -Update lsn: 662, time: 1338903440.229544, len: 78 -Update lsn: 663, time: 1338903440.229584, len: 78 -Update lsn: 664, time: 1338903440.229612, len: 78 -Update lsn: 665, time: 1338903440.229639, len: 78 -Update lsn: 666, time: 1338903440.229666, len: 78 -Update lsn: 667, time: 1338903440.229694, len: 78 -Update lsn: 668, time: 1338903440.229723, len: 78 -Update lsn: 669, time: 1338903440.229752, len: 78 -Update lsn: 670, time: 1338903440.229779, len: 78 -Update lsn: 671, time: 1338903440.229808, len: 78 -Update lsn: 672, time: 1338903440.229862, len: 78 -Update lsn: 673, time: 1338903440.229892, len: 78 -Update lsn: 674, time: 1338903440.229933, len: 78 -Update lsn: 675, time: 1338903440.229961, len: 78 -Update lsn: 676, time: 1338903440.229988, len: 78 -Update lsn: 677, time: 1338903440.230015, len: 78 -Update lsn: 678, time: 1338903440.230042, len: 78 -Update lsn: 679, time: 1338903440.230069, len: 78 -Update lsn: 680, time: 1338903440.230096, len: 78 -Update lsn: 681, time: 1338903440.230124, len: 78 -Update lsn: 682, time: 1338903440.230153, len: 78 -Update lsn: 683, time: 1338903440.230180, len: 78 -Update lsn: 684, time: 1338903440.230210, len: 78 -Update lsn: 685, time: 1338903440.230248, len: 78 -Update lsn: 686, time: 1338903440.230274, len: 78 -Update lsn: 687, time: 1338903440.230300, len: 78 -Update lsn: 688, time: 1338903440.230326, len: 78 -Update lsn: 689, time: 1338903440.230352, len: 78 -Update lsn: 690, time: 1338903440.230380, len: 78 -Update lsn: 691, time: 1338903440.230408, len: 78 -Update lsn: 692, time: 1338903440.230434, len: 78 -Update lsn: 693, time: 1338903440.230462, len: 78 -Update lsn: 694, time: 1338903440.230488, len: 78 -Update lsn: 695, time: 1338903440.230515, len: 78 -Update lsn: 696, time: 1338903440.230541, len: 78 -Update lsn: 697, time: 1338903440.230567, len: 78 -Update lsn: 698, time: 1338903440.230593, len: 78 -Update lsn: 699, time: 1338903440.230619, len: 78 -Update lsn: 700, time: 1338903440.230645, len: 78 -Update lsn: 701, time: 1338903440.230670, len: 78 -Update lsn: 702, time: 1338903440.231167, len: 109 -Update lsn: 703, time: 1338903440.231248, len: 109 -Update lsn: 704, time: 1338903440.231279, len: 109 -Update lsn: 705, time: 1338903440.231308, len: 109 -Update lsn: 706, time: 1338903440.231335, len: 109 -Update lsn: 707, time: 1338903440.231362, len: 109 -Update lsn: 708, time: 1338903440.231420, len: 109 -Update lsn: 709, time: 1338903440.231452, len: 109 -Update lsn: 710, time: 1338903440.231482, len: 109 -Update lsn: 711, time: 1338903440.231512, len: 109 -Update lsn: 712, time: 1338903440.231540, len: 110 -Update lsn: 713, time: 1338903440.231589, len: 110 -Update lsn: 714, time: 1338903440.231620, len: 110 -Update lsn: 715, time: 1338903440.231647, len: 110 -Update lsn: 716, time: 1338903440.231674, len: 110 -Update lsn: 717, time: 1338903440.231703, len: 110 -Update lsn: 718, time: 1338903440.231731, len: 110 -Update lsn: 719, time: 1338903440.231761, len: 110 -Update lsn: 720, time: 1338903440.231789, len: 110 -Update lsn: 721, time: 1338903440.231818, len: 110 -Update lsn: 722, time: 1338903440.231847, len: 110 -Update lsn: 723, time: 1338903440.231874, len: 110 -Update lsn: 724, time: 1338903440.231900, len: 110 -Update lsn: 725, time: 1338903440.231927, len: 110 -Update lsn: 726, time: 1338903440.231954, len: 110 -Update lsn: 727, time: 1338903440.231981, len: 110 -Update lsn: 728, time: 1338903440.232007, len: 110 -Update lsn: 729, time: 1338903440.232034, len: 110 -Update lsn: 730, time: 1338903440.232061, len: 110 -Update lsn: 731, time: 1338903440.232088, len: 110 -Update lsn: 732, time: 1338903440.232114, len: 110 -Update lsn: 733, time: 1338903440.232140, len: 110 -Update lsn: 734, time: 1338903440.232166, len: 110 -Update lsn: 735, time: 1338903440.232192, len: 110 -Update lsn: 736, time: 1338903440.232217, len: 110 -Update lsn: 737, time: 1338903440.232270, len: 110 -Update lsn: 738, time: 1338903440.232300, len: 110 -Update lsn: 739, time: 1338903440.232326, len: 110 -Update lsn: 740, time: 1338903440.232352, len: 110 -Update lsn: 741, time: 1338903440.232377, len: 110 -Update lsn: 742, time: 1338903440.232403, len: 110 -Update lsn: 743, time: 1338903440.232429, len: 110 -Update lsn: 744, time: 1338903440.232456, len: 110 -Update lsn: 745, time: 1338903440.232483, len: 110 -Update lsn: 746, time: 1338903440.232509, len: 110 -Update lsn: 747, time: 1338903440.232537, len: 110 -Update lsn: 748, time: 1338903440.232564, len: 110 -Update lsn: 749, time: 1338903440.232590, len: 110 -Update lsn: 750, time: 1338903440.232617, len: 110 -Update lsn: 751, time: 1338903440.232643, len: 110 -Update lsn: 752, time: 1338903440.232670, len: 110 -Update lsn: 753, time: 1338903440.232697, len: 110 -Update lsn: 754, time: 1338903440.232724, len: 110 -Update lsn: 755, time: 1338903440.232750, len: 110 -Update lsn: 756, time: 1338903440.232777, len: 110 -Update lsn: 757, time: 1338903440.232803, len: 110 -Update lsn: 758, time: 1338903440.232829, len: 110 -Update lsn: 759, time: 1338903440.232856, len: 110 -Update lsn: 760, time: 1338903440.232883, len: 110 -Update lsn: 761, time: 1338903440.232909, len: 110 -Update lsn: 762, time: 1338903440.232936, len: 110 -Update lsn: 763, time: 1338903440.232962, len: 110 -Update lsn: 764, time: 1338903440.232989, len: 110 -Update lsn: 765, time: 1338903440.233016, len: 110 -Update lsn: 766, time: 1338903440.233063, len: 110 -Update lsn: 767, time: 1338903440.233091, len: 110 -Update lsn: 768, time: 1338903440.233117, len: 110 -Update lsn: 769, time: 1338903440.233144, len: 110 -Update lsn: 770, time: 1338903440.233170, len: 110 -Update lsn: 771, time: 1338903440.233196, len: 110 -Update lsn: 772, time: 1338903440.233221, len: 110 -Update lsn: 773, time: 1338903440.233247, len: 110 -Update lsn: 774, time: 1338903440.233274, len: 110 -Update lsn: 775, time: 1338903440.233300, len: 110 -Update lsn: 776, time: 1338903440.233327, len: 110 -Update lsn: 777, time: 1338903440.233354, len: 110 -Update lsn: 778, time: 1338903440.233381, len: 110 -Update lsn: 779, time: 1338903440.233407, len: 110 -Update lsn: 780, time: 1338903440.233434, len: 110 -Update lsn: 781, time: 1338903440.233461, len: 110 -Update lsn: 782, time: 1338903440.233488, len: 110 -Update lsn: 783, time: 1338903440.233515, len: 110 -Update lsn: 784, time: 1338903440.233542, len: 110 -Update lsn: 785, time: 1338903440.233568, len: 110 -Update lsn: 786, time: 1338903440.233595, len: 110 -Update lsn: 787, time: 1338903440.233622, len: 110 -Update lsn: 788, time: 1338903440.233649, len: 110 -Update lsn: 789, time: 1338903440.233677, len: 110 -Update lsn: 790, time: 1338903440.233704, len: 110 -Update lsn: 791, time: 1338903440.233730, len: 110 -Update lsn: 792, time: 1338903440.233757, len: 110 -Update lsn: 793, time: 1338903440.233784, len: 110 -Update lsn: 794, time: 1338903440.233827, len: 110 -Update lsn: 795, time: 1338903440.233855, len: 110 -Update lsn: 796, time: 1338903440.233882, len: 110 -Update lsn: 797, time: 1338903440.233909, len: 110 -Update lsn: 798, time: 1338903440.233936, len: 110 -Update lsn: 799, time: 1338903440.233963, len: 110 -Update lsn: 800, time: 1338903440.233989, len: 110 -Update lsn: 801, time: 1338903440.234015, len: 110 -Update lsn: 802, time: 1338903440.234573, len: 175 -Update lsn: 803, time: 1338903440.234678, len: 175 -Update lsn: 804, time: 1338903440.234710, len: 175 -Update lsn: 805, time: 1338903440.234738, len: 175 -Update lsn: 806, time: 1338903440.234767, len: 175 -Update lsn: 807, time: 1338903440.234796, len: 175 -Update lsn: 808, time: 1338903440.234823, len: 175 -Update lsn: 809, time: 1338903440.234851, len: 175 -Update lsn: 810, time: 1338903440.234878, len: 175 -Update lsn: 811, time: 1338903440.234923, len: 175 -Update lsn: 812, time: 1338903440.234954, len: 176 -Update lsn: 813, time: 1338903440.234984, len: 176 -Update lsn: 814, time: 1338903440.235012, len: 176 -Update lsn: 815, time: 1338903440.235040, len: 176 -Update lsn: 816, time: 1338903440.235068, len: 176 -Update lsn: 817, time: 1338903440.235132, len: 176 -Update lsn: 818, time: 1338903440.235167, len: 176 -Update lsn: 819, time: 1338903440.235196, len: 176 -Update lsn: 820, time: 1338903440.235224, len: 176 -Update lsn: 821, time: 1338903440.235254, len: 176 -Update lsn: 822, time: 1338903440.235282, len: 176 -Update lsn: 823, time: 1338903440.235310, len: 176 -Update lsn: 824, time: 1338903440.235339, len: 176 -Update lsn: 825, time: 1338903440.235368, len: 176 -Update lsn: 826, time: 1338903440.235395, len: 176 -Update lsn: 827, time: 1338903440.235422, len: 176 -Update lsn: 828, time: 1338903440.235449, len: 176 -Update lsn: 829, time: 1338903440.235476, len: 176 -Update lsn: 830, time: 1338903440.235503, len: 176 -Update lsn: 831, time: 1338903440.235530, len: 176 -Update lsn: 832, time: 1338903440.235556, len: 176 -Update lsn: 833, time: 1338903440.235583, len: 176 -Update lsn: 834, time: 1338903440.235609, len: 176 -Update lsn: 835, time: 1338903440.235635, len: 176 -Update lsn: 836, time: 1338903440.235682, len: 176 -Update lsn: 837, time: 1338903440.235711, len: 176 -Update lsn: 838, time: 1338903440.235738, len: 176 -Update lsn: 839, time: 1338903440.235764, len: 176 -Update lsn: 840, time: 1338903440.235790, len: 176 -Update lsn: 841, time: 1338903440.235817, len: 176 -Update lsn: 842, time: 1338903440.235843, len: 176 -Update lsn: 843, time: 1338903440.235869, len: 176 -Update lsn: 844, time: 1338903440.235896, len: 176 -Update lsn: 845, time: 1338903440.235923, len: 176 -Update lsn: 846, time: 1338903440.235949, len: 176 -Update lsn: 847, time: 1338903440.235977, len: 176 -Update lsn: 848, time: 1338903440.236004, len: 176 -Update lsn: 849, time: 1338903440.236031, len: 176 -Update lsn: 850, time: 1338903440.236057, len: 176 -Update lsn: 851, time: 1338903440.236084, len: 176 -Update lsn: 852, time: 1338903440.236110, len: 176 -Update lsn: 853, time: 1338903440.236136, len: 176 -Update lsn: 854, time: 1338903440.236163, len: 176 -Update lsn: 855, time: 1338903440.236189, len: 176 -Update lsn: 856, time: 1338903440.236233, len: 176 -Update lsn: 857, time: 1338903440.236262, len: 176 -Update lsn: 858, time: 1338903440.236289, len: 176 -Update lsn: 859, time: 1338903440.236315, len: 176 -Update lsn: 860, time: 1338903440.236341, len: 176 -Update lsn: 861, time: 1338903440.236368, len: 176 -Update lsn: 862, time: 1338903440.236394, len: 176 -Update lsn: 863, time: 1338903440.236421, len: 176 -Update lsn: 864, time: 1338903440.236448, len: 176 -Update lsn: 865, time: 1338903440.236475, len: 176 -Update lsn: 866, time: 1338903440.236501, len: 176 -Update lsn: 867, time: 1338903440.236527, len: 176 -Update lsn: 868, time: 1338903440.236554, len: 176 -Update lsn: 869, time: 1338903440.236581, len: 176 -Update lsn: 870, time: 1338903440.236608, len: 176 -Update lsn: 871, time: 1338903440.236634, len: 176 -Update lsn: 872, time: 1338903440.236660, len: 176 -Update lsn: 873, time: 1338903440.236687, len: 176 -Update lsn: 874, time: 1338903440.236713, len: 176 -Update lsn: 875, time: 1338903440.236739, len: 176 -Update lsn: 876, time: 1338903440.236782, len: 176 -Update lsn: 877, time: 1338903440.236810, len: 176 -Update lsn: 878, time: 1338903440.236837, len: 176 -Update lsn: 879, time: 1338903440.236864, len: 176 -Update lsn: 880, time: 1338903440.236892, len: 176 -Update lsn: 881, time: 1338903440.236919, len: 176 -Update lsn: 882, time: 1338903440.236945, len: 176 -Update lsn: 883, time: 1338903440.236972, len: 176 -Update lsn: 884, time: 1338903440.236998, len: 176 -Update lsn: 885, time: 1338903440.237024, len: 176 -Update lsn: 886, time: 1338903440.237050, len: 176 -Update lsn: 887, time: 1338903440.237077, len: 176 -Update lsn: 888, time: 1338903440.237103, len: 176 -Update lsn: 889, time: 1338903440.237131, len: 176 -Update lsn: 890, time: 1338903440.237158, len: 176 -Update lsn: 891, time: 1338903440.237184, len: 176 -Update lsn: 892, time: 1338903440.237211, len: 176 -Update lsn: 893, time: 1338903440.237236, len: 176 -Update lsn: 894, time: 1338903440.237262, len: 176 -Update lsn: 895, time: 1338903440.237289, len: 176 -Update lsn: 896, time: 1338903440.237339, len: 176 -Update lsn: 897, time: 1338903440.237368, len: 176 -Update lsn: 898, time: 1338903440.237395, len: 176 -Update lsn: 899, time: 1338903440.237421, len: 176 -Update lsn: 900, time: 1338903440.237448, len: 176 -Update lsn: 901, time: 1338903440.237475, len: 176 -Update lsn: 902, time: 1338903440.238040, len: 77 -Update lsn: 903, time: 1338903440.238124, len: 77 -Update lsn: 904, time: 1338903440.238156, len: 77 -Update lsn: 905, time: 1338903440.238183, len: 77 -Update lsn: 906, time: 1338903440.238212, len: 77 -Update lsn: 907, time: 1338903440.238899, len: 77 -Update lsn: 908, time: 1338903440.238960, len: 77 -Update lsn: 909, time: 1338903440.238989, len: 77 -Update lsn: 910, time: 1338903440.239016, len: 77 -Update lsn: 911, time: 1338903440.239043, len: 77 -Update lsn: 912, time: 1338903440.239070, len: 78 -Update lsn: 913, time: 1338903440.239097, len: 78 -Update lsn: 914, time: 1338903440.239125, len: 78 -Update lsn: 915, time: 1338903440.239153, len: 78 -Update lsn: 916, time: 1338903440.239180, len: 78 -Update lsn: 917, time: 1338903440.239207, len: 78 -Update lsn: 918, time: 1338903440.239234, len: 78 -Update lsn: 919, time: 1338903440.239261, len: 78 -Update lsn: 920, time: 1338903440.239290, len: 78 -Update lsn: 921, time: 1338903440.240279, len: 78 -Update lsn: 922, time: 1338903440.240328, len: 78 -Update lsn: 923, time: 1338903440.240355, len: 78 -Update lsn: 924, time: 1338903440.240382, len: 78 -Update lsn: 925, time: 1338903440.240409, len: 78 -Update lsn: 926, time: 1338903440.240436, len: 78 -Update lsn: 927, time: 1338903440.240494, len: 78 -Update lsn: 928, time: 1338903440.240522, len: 78 -Update lsn: 929, time: 1338903440.240548, len: 78 -Update lsn: 930, time: 1338903440.240575, len: 78 -Update lsn: 931, time: 1338903440.240604, len: 78 -Update lsn: 932, time: 1338903440.240632, len: 78 -Update lsn: 933, time: 1338903440.240660, len: 78 -Update lsn: 934, time: 1338903440.240687, len: 78 -Update lsn: 935, time: 1338903440.240714, len: 78 -Update lsn: 936, time: 1338903440.240742, len: 78 -Update lsn: 937, time: 1338903440.240770, len: 78 -Update lsn: 938, time: 1338903440.240797, len: 78 -Update lsn: 939, time: 1338903440.240823, len: 78 -Update lsn: 940, time: 1338903440.240851, len: 78 -Update lsn: 941, time: 1338903440.240879, len: 78 -Update lsn: 942, time: 1338903440.240906, len: 78 -Update lsn: 943, time: 1338903440.240934, len: 78 -Update lsn: 944, time: 1338903440.240961, len: 78 -Update lsn: 945, time: 1338903440.240988, len: 78 -Update lsn: 946, time: 1338903440.241016, len: 78 -Update lsn: 947, time: 1338903440.241044, len: 78 -Update lsn: 948, time: 1338903440.241071, len: 78 -Update lsn: 949, time: 1338903440.241097, len: 78 -Update lsn: 950, time: 1338903440.241124, len: 78 -Update lsn: 951, time: 1338903440.241152, len: 78 -Update lsn: 952, time: 1338903440.241179, len: 78 -Update lsn: 953, time: 1338903440.241206, len: 78 -Update lsn: 954, time: 1338903440.241233, len: 78 -Update lsn: 955, time: 1338903440.241260, len: 78 -Update lsn: 956, time: 1338903440.241287, len: 78 -Update lsn: 957, time: 1338903440.241314, len: 78 -Update lsn: 958, time: 1338903440.241341, len: 78 -Update lsn: 959, time: 1338903440.241369, len: 78 -Update lsn: 960, time: 1338903440.241396, len: 78 -Update lsn: 961, time: 1338903440.241424, len: 78 -Update lsn: 962, time: 1338903440.241451, len: 78 -Update lsn: 963, time: 1338903440.241478, len: 78 -Update lsn: 964, time: 1338903440.241524, len: 78 -Update lsn: 965, time: 1338903440.241552, len: 78 -Update lsn: 966, time: 1338903440.241604, len: 78 -Update lsn: 967, time: 1338903440.241632, len: 78 -Update lsn: 968, time: 1338903440.241661, len: 78 -Update lsn: 969, time: 1338903440.241688, len: 78 -Update lsn: 970, time: 1338903440.241715, len: 78 -Update lsn: 971, time: 1338903440.241741, len: 78 -Update lsn: 972, time: 1338903440.241769, len: 78 -Update lsn: 973, time: 1338903440.241796, len: 78 -Update lsn: 974, time: 1338903440.241823, len: 78 -Update lsn: 975, time: 1338903440.241851, len: 78 -Update lsn: 976, time: 1338903440.241879, len: 78 -Update lsn: 977, time: 1338903440.241909, len: 78 -Update lsn: 978, time: 1338903440.241935, len: 78 -Update lsn: 979, time: 1338903440.241962, len: 78 -Update lsn: 980, time: 1338903440.241990, len: 78 -Update lsn: 981, time: 1338903440.242017, len: 78 -Update lsn: 982, time: 1338903440.242044, len: 78 -Update lsn: 983, time: 1338903440.242071, len: 78 -Update lsn: 984, time: 1338903440.242099, len: 78 -Update lsn: 985, time: 1338903440.242126, len: 78 -Update lsn: 986, time: 1338903440.242154, len: 78 -Update lsn: 987, time: 1338903440.242181, len: 78 -Update lsn: 988, time: 1338903440.242208, len: 78 -Update lsn: 989, time: 1338903440.242236, len: 78 -Update lsn: 990, time: 1338903440.242263, len: 78 -Update lsn: 991, time: 1338903440.242290, len: 78 -Update lsn: 992, time: 1338903440.242317, len: 78 -Update lsn: 993, time: 1338903440.242343, len: 78 -Update lsn: 994, time: 1338903440.242370, len: 78 -Update lsn: 995, time: 1338903440.242398, len: 78 -Update lsn: 996, time: 1338903440.242425, len: 78 -Update lsn: 997, time: 1338903440.242452, len: 78 -Update lsn: 998, time: 1338903440.242479, len: 78 -Update lsn: 999, time: 1338903440.242506, len: 78 -Update lsn: 1000, time: 1338903440.242534, len: 78 -Update lsn: 1001, time: 1338903440.242582, len: 78 -Update lsn: 1002, time: 1338903440.243265, len: 109 -Update lsn: 1003, time: 1338903440.243367, len: 109 -Update lsn: 1004, time: 1338903440.243399, len: 109 -Update lsn: 1005, time: 1338903440.243427, len: 109 -Update lsn: 1006, time: 1338903440.243455, len: 109 -Update lsn: 1007, time: 1338903440.243484, len: 109 -Update lsn: 1008, time: 1338903440.243512, len: 109 -Update lsn: 1009, time: 1338903440.243540, len: 109 -Update lsn: 1010, time: 1338903440.243569, len: 109 -Update lsn: 1011, time: 1338903440.243598, len: 109 -Update lsn: 1012, time: 1338903440.243626, len: 110 -Update lsn: 1013, time: 1338903440.243654, len: 110 -Update lsn: 1014, time: 1338903440.243681, len: 110 -Update lsn: 1015, time: 1338903440.243710, len: 110 -Update lsn: 1016, time: 1338903440.243738, len: 110 -Update lsn: 1017, time: 1338903440.243767, len: 110 -Update lsn: 1018, time: 1338903440.243796, len: 110 -Update lsn: 1019, time: 1338903440.243826, len: 110 -Update lsn: 1020, time: 1338903440.243855, len: 110 -Update lsn: 1021, time: 1338903440.243883, len: 110 -Update lsn: 1022, time: 1338903440.243913, len: 110 -Update lsn: 1023, time: 1338903440.243941, len: 110 -Update lsn: 1024, time: 1338903440.243968, len: 110 -Update lsn: 1025, time: 1338903440.243996, len: 110 -Update lsn: 1026, time: 1338903440.244023, len: 110 -Update lsn: 1027, time: 1338903440.244049, len: 110 -Update lsn: 1028, time: 1338903440.244076, len: 110 -Update lsn: 1029, time: 1338903440.244103, len: 110 -Update lsn: 1030, time: 1338903440.244164, len: 110 -Update lsn: 1031, time: 1338903440.244193, len: 110 -Update lsn: 1032, time: 1338903440.244220, len: 110 -Update lsn: 1033, time: 1338903440.244246, len: 110 -Update lsn: 1034, time: 1338903440.244272, len: 110 -Update lsn: 1035, time: 1338903440.244299, len: 110 -Update lsn: 1036, time: 1338903440.244325, len: 110 -Update lsn: 1037, time: 1338903440.244351, len: 110 -Update lsn: 1038, time: 1338903440.244378, len: 110 -Update lsn: 1039, time: 1338903440.244404, len: 110 -Update lsn: 1040, time: 1338903440.244431, len: 110 -Update lsn: 1041, time: 1338903440.244457, len: 110 -Update lsn: 1042, time: 1338903440.244483, len: 110 -Update lsn: 1043, time: 1338903440.244509, len: 110 -Update lsn: 1044, time: 1338903440.244535, len: 110 -Update lsn: 1045, time: 1338903440.244561, len: 110 -Update lsn: 1046, time: 1338903440.244587, len: 110 -Update lsn: 1047, time: 1338903440.244613, len: 110 -Update lsn: 1048, time: 1338903440.244640, len: 110 -Update lsn: 1049, time: 1338903440.244666, len: 110 -Update lsn: 1050, time: 1338903440.244692, len: 110 -Update lsn: 1051, time: 1338903440.244718, len: 110 -Update lsn: 1052, time: 1338903440.244744, len: 110 -Update lsn: 1053, time: 1338903440.244771, len: 110 -Update lsn: 1054, time: 1338903440.244798, len: 110 -Update lsn: 1055, time: 1338903440.244827, len: 110 -Update lsn: 1056, time: 1338903440.244854, len: 110 -Update lsn: 1057, time: 1338903440.244881, len: 110 -Update lsn: 1058, time: 1338903440.244936, len: 110 -Update lsn: 1059, time: 1338903440.244995, len: 110 -Update lsn: 1060, time: 1338903440.245028, len: 110 -Update lsn: 1061, time: 1338903440.245057, len: 110 -Update lsn: 1062, time: 1338903440.245086, len: 110 -Update lsn: 1063, time: 1338903440.245115, len: 110 -Update lsn: 1064, time: 1338903440.245142, len: 110 -Update lsn: 1065, time: 1338903440.245169, len: 110 -Update lsn: 1066, time: 1338903440.245196, len: 110 -Update lsn: 1067, time: 1338903440.245222, len: 110 -Update lsn: 1068, time: 1338903440.245248, len: 110 -Update lsn: 1069, time: 1338903440.245275, len: 110 -Update lsn: 1070, time: 1338903440.245302, len: 110 -Update lsn: 1071, time: 1338903440.245329, len: 110 -Update lsn: 1072, time: 1338903440.245355, len: 110 -Update lsn: 1073, time: 1338903440.245382, len: 110 -Update lsn: 1074, time: 1338903440.245408, len: 110 -Update lsn: 1075, time: 1338903440.245435, len: 110 -Update lsn: 1076, time: 1338903440.245462, len: 110 -Update lsn: 1077, time: 1338903440.245491, len: 110 -Update lsn: 1078, time: 1338903440.245518, len: 110 -Update lsn: 1079, time: 1338903440.245545, len: 110 -Update lsn: 1080, time: 1338903440.245572, len: 110 -Update lsn: 1081, time: 1338903440.245600, len: 110 -Update lsn: 1082, time: 1338903440.245628, len: 110 -Update lsn: 1083, time: 1338903440.245656, len: 110 -Update lsn: 1084, time: 1338903440.245683, len: 110 -Update lsn: 1085, time: 1338903440.245709, len: 110 -Update lsn: 1086, time: 1338903440.245736, len: 110 -Update lsn: 1087, time: 1338903440.245763, len: 110 -Update lsn: 1088, time: 1338903440.245815, len: 110 -Update lsn: 1089, time: 1338903440.245847, len: 110 -Update lsn: 1090, time: 1338903440.245874, len: 110 -Update lsn: 1091, time: 1338903440.245900, len: 110 -Update lsn: 1092, time: 1338903440.245928, len: 110 -Update lsn: 1093, time: 1338903440.245955, len: 110 -Update lsn: 1094, time: 1338903440.245983, len: 110 -Update lsn: 1095, time: 1338903440.246011, len: 110 -Update lsn: 1096, time: 1338903440.246040, len: 110 -Update lsn: 1097, time: 1338903440.246068, len: 110 -Update lsn: 1098, time: 1338903440.246097, len: 110 -Update lsn: 1099, time: 1338903440.246124, len: 110 -Update lsn: 1100, time: 1338903440.246151, len: 110 -Update lsn: 1101, time: 1338903440.246177, len: 110 -Update lsn: 1102, time: 1338903440.246866, len: 175 -Update lsn: 1103, time: 1338903440.246967, len: 175 -Update lsn: 1104, time: 1338903440.247000, len: 175 -Update lsn: 1105, time: 1338903440.247028, len: 175 -Update lsn: 1106, time: 1338903440.247058, len: 175 -Update lsn: 1107, time: 1338903440.247086, len: 175 -Update lsn: 1108, time: 1338903440.247115, len: 175 -Update lsn: 1109, time: 1338903440.247144, len: 175 -Update lsn: 1110, time: 1338903440.247173, len: 175 -Update lsn: 1111, time: 1338903440.247202, len: 175 -Update lsn: 1112, time: 1338903440.247263, len: 176 -Update lsn: 1113, time: 1338903440.247297, len: 176 -Update lsn: 1114, time: 1338903440.247326, len: 176 -Update lsn: 1115, time: 1338903440.247355, len: 176 -Update lsn: 1116, time: 1338903440.247384, len: 176 -Update lsn: 1117, time: 1338903440.247415, len: 176 -Update lsn: 1118, time: 1338903440.247444, len: 176 -Update lsn: 1119, time: 1338903440.247473, len: 176 -Update lsn: 1120, time: 1338903440.247503, len: 176 -Update lsn: 1121, time: 1338903440.247531, len: 176 -Update lsn: 1122, time: 1338903440.247559, len: 176 -Update lsn: 1123, time: 1338903440.247586, len: 176 -Update lsn: 1124, time: 1338903440.247614, len: 176 -Update lsn: 1125, time: 1338903440.247641, len: 176 -Update lsn: 1126, time: 1338903440.247668, len: 176 -Update lsn: 1127, time: 1338903440.247695, len: 176 -Update lsn: 1128, time: 1338903440.247722, len: 176 -Update lsn: 1129, time: 1338903440.247749, len: 176 -Update lsn: 1130, time: 1338903440.247775, len: 176 -Update lsn: 1131, time: 1338903440.247801, len: 176 -Update lsn: 1132, time: 1338903440.247851, len: 176 -Update lsn: 1133, time: 1338903440.247880, len: 176 -Update lsn: 1134, time: 1338903440.247906, len: 176 -Update lsn: 1135, time: 1338903440.247932, len: 176 -Update lsn: 1136, time: 1338903440.247960, len: 176 -Update lsn: 1137, time: 1338903440.247986, len: 176 -Update lsn: 1138, time: 1338903440.248012, len: 176 -Update lsn: 1139, time: 1338903440.248039, len: 176 -Update lsn: 1140, time: 1338903440.248065, len: 176 -Update lsn: 1141, time: 1338903440.248092, len: 176 -Update lsn: 1142, time: 1338903440.248118, len: 176 -Update lsn: 1143, time: 1338903440.248146, len: 176 -Update lsn: 1144, time: 1338903440.248173, len: 176 -Update lsn: 1145, time: 1338903440.248201, len: 176 -Update lsn: 1146, time: 1338903440.248250, len: 176 -Update lsn: 1147, time: 1338903440.248282, len: 176 -Update lsn: 1148, time: 1338903440.248311, len: 176 -Update lsn: 1149, time: 1338903440.248339, len: 176 -Update lsn: 1150, time: 1338903440.248367, len: 176 -Update lsn: 1151, time: 1338903440.248394, len: 176 -Update lsn: 1152, time: 1338903440.248443, len: 176 -Update lsn: 1153, time: 1338903440.248471, len: 176 -Update lsn: 1154, time: 1338903440.248498, len: 176 -Update lsn: 1155, time: 1338903440.248525, len: 176 -Update lsn: 1156, time: 1338903440.248553, len: 176 -Update lsn: 1157, time: 1338903440.248579, len: 176 -Update lsn: 1158, time: 1338903440.248606, len: 176 -Update lsn: 1159, time: 1338903440.248633, len: 176 -Update lsn: 1160, time: 1338903440.248659, len: 176 -Update lsn: 1161, time: 1338903440.248686, len: 176 -Update lsn: 1162, time: 1338903440.248713, len: 176 -Update lsn: 1163, time: 1338903440.248740, len: 176 -Update lsn: 1164, time: 1338903440.248767, len: 176 -Update lsn: 1165, time: 1338903440.248794, len: 176 -Update lsn: 1166, time: 1338903440.248821, len: 176 -Update lsn: 1167, time: 1338903440.248849, len: 176 -Update lsn: 1168, time: 1338903440.248876, len: 176 -Update lsn: 1169, time: 1338903440.248904, len: 176 -Update lsn: 1170, time: 1338903440.248932, len: 176 -Update lsn: 1171, time: 1338903440.248982, len: 176 -Update lsn: 1172, time: 1338903440.249012, len: 176 -Update lsn: 1173, time: 1338903440.249038, len: 176 -Update lsn: 1174, time: 1338903440.249064, len: 176 -Update lsn: 1175, time: 1338903440.249091, len: 176 -Update lsn: 1176, time: 1338903440.249120, len: 176 -Update lsn: 1177, time: 1338903440.249149, len: 176 -Update lsn: 1178, time: 1338903440.249179, len: 176 -Update lsn: 1179, time: 1338903440.249208, len: 176 -Update lsn: 1180, time: 1338903440.249237, len: 176 -Update lsn: 1181, time: 1338903440.249265, len: 176 -Update lsn: 1182, time: 1338903440.249292, len: 176 -Update lsn: 1183, time: 1338903440.249320, len: 176 -Update lsn: 1184, time: 1338903440.249347, len: 176 -Update lsn: 1185, time: 1338903440.249375, len: 176 -Update lsn: 1186, time: 1338903440.249404, len: 176 -Update lsn: 1187, time: 1338903440.249431, len: 176 -Update lsn: 1188, time: 1338903440.249460, len: 176 -Update lsn: 1189, time: 1338903440.249490, len: 176 -Update lsn: 1190, time: 1338903440.249517, len: 176 -Update lsn: 1191, time: 1338903440.249563, len: 176 -Update lsn: 1192, time: 1338903440.249593, len: 176 -Update lsn: 1193, time: 1338903440.249621, len: 176 -Update lsn: 1194, time: 1338903440.249648, len: 176 -Update lsn: 1195, time: 1338903440.249676, len: 176 -Update lsn: 1196, time: 1338903440.249705, len: 176 -Update lsn: 1197, time: 1338903440.249733, len: 176 -Update lsn: 1198, time: 1338903440.249761, len: 176 -Update lsn: 1199, time: 1338903440.249789, len: 176 -Update lsn: 1200, time: 1338903440.249816, len: 176 -Update lsn: 1201, time: 1338903440.249846, len: 176 diff --git a/test/connector_c/xlog_rpl.test.py b/test/connector_c/xlog_rpl.test.py deleted file mode 100644 index 5f774f785bc7ec7e841b009056badff89581d3d4..0000000000000000000000000000000000000000 --- a/test/connector_c/xlog_rpl.test.py +++ /dev/null @@ -1,33 +0,0 @@ -import subprocess -import sys -import os - -from lib.tarantool_server import TarantoolServer - -p = subprocess.Popen([os.path.join(builddir, "test/connector_c/xlog"), - os.path.abspath("connector_c/connector.xlog")], - stdout=subprocess.PIPE) -o,e = p.communicate() -sys.stdout.write(o) - -server.stop() -server.deploy("connector_c/cfg/master.cfg") -server.stop() - -current_xlog = os.path.join(vardir, "00000000000000000002.xlog") -os.symlink(os.path.abspath("connector_c/connector.xlog"), current_xlog) - -server.start() - -print "" - -p = subprocess.Popen([os.path.join(builddir, "test/connector_c/rpl"), - "127.0.0.1", "33016", "1200"], - stdout=subprocess.PIPE) -o,e = p.communicate() -sys.stdout.write(o) - -server.stop() -server.deploy() - -# vim: syntax=python