From art at it-gen.net Thu Sep 1 10:40:23 2011 From: art at it-gen.net (=?KOI8-R?B?99HexdPMwdcg89DJ0snEz87P1w==?=) Date: Thu Sep 1 10:40:51 2011 Subject: [odb-users] read-only fields Message-ID: Hello. Please can you tell me will be ODB to support read-only fields? We have a need to download some object from the database, then it is quite a long while in the program memory and then written up in the database. Object contains one field that it does not change, only read. And for a while object cached in memory the program is changing the field in the database. Accordingly, when the object is written back into the database it erases the external changes. Thanx, Viacheslav From boris at codesynthesis.com Thu Sep 1 14:17:57 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 1 14:20:32 2011 Subject: [odb-users] Re: read-only fields In-Reply-To: References: Message-ID: Hi Viacheslav, ???????? ?????????? writes: > Please can you tell me will be ODB to support read-only fields? We have actually thought about this but it turns out not so easy to implement. Ideally, a read-only member would only be ignored in the update() call. In particular, it should still be used when we make the object persistent with the persist() call. This would be similar to how const members are treated in C++ constructors (i.e., in a constructor a const member is not considered const). The difficulty is with ignoring the member for update() but still passing it for persist(). Right now the update() and persist() functionality share what we call an "object image". An image is basically the object state expressed in database API types. If an object has read-only members, then we would need two separate images. We could probably implement an interim solution where a read-only member is ignored for both update() and persist(). Would that work for you? Boris From art at it-gen.net Fri Sep 2 06:13:14 2011 From: art at it-gen.net (=?KOI8-R?B?99HexdPMwdcg89DJ0snEz87P1w==?=) Date: Fri Sep 2 06:13:45 2011 Subject: [odb-users] Re: read-only fields In-Reply-To: References: Message-ID: Dear, Boris and odb-users The proposed variant will work exactly as we need. And about an implementation of the RO, I think that is almost perfect might be run-time decision - mask of properties members of object. Then do not have to divide an object into two parts, just manipulate the value of mask. A typical example. For the first time create the object. You must initialize all the fields Default values ??and display it in the database (persist()). This means that all object fields should be writable, after this a part of fields has become a RO. Any further update () is not allowed to overwrite these fields in the database. Because we want to reserve ( regardless of whether the currently cached object in memory and perhaps in the future will be thrown in the database update() ) the exclusive right to manually change some fields directly in the database. As well as an option at all can make individual masks for each event ( persist(), update(), load() ). Thanx, Viacheslav ---------------------------------------------------------------------- 1 ???????? 2011??. 21:17 ???????????? Boris Kolpackov ???????: > Hi Viacheslav, > > ???????? ?????????? writes: > >> Please can you tell me will be ODB to support read-only fields? > > We have actually thought about this but it turns out not so easy to > implement. Ideally, a read-only member would only be ignored in the > update() call. In particular, it should still be used when we make > the object persistent with the persist() call. This would be similar > to how const members are treated in C++ constructors (i.e., in a > constructor a const member is not considered const). > > The difficulty is with ignoring the member for update() but still > passing it for persist(). Right now the update() and persist() > functionality share what we call an "object image". An image is > basically the object state expressed in database API types. If > an object has read-only members, then we would need two separate > images. > > We could probably implement an interim solution where a read-only > member is ignored for both update() and persist(). Would that work > for you? > > Boris > From boris at codesynthesis.com Mon Sep 5 08:09:53 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Sep 5 08:12:27 2011 Subject: [odb-users] Re: read-only fields In-Reply-To: References: Message-ID: Hi Viacheslav, ???????? ?????????? writes: > The proposed variant will work exactly as we need. Ok, I will try to implement it before the next release. > And about an implementation of the RO, I think that is almost perfect > might be run-time decision - mask of properties members of object. > Then do not have to divide an object into two parts, just manipulate > the value of mask. > > A typical example. For the first time create the object. You must > initialize all the fields Default values ??and display it in the > database (persist()). This means that all object fields should be > writable, after this a part of fields has become a RO. Any further > update () is not allowed to overwrite these fields in the database. > Because we want to reserve ( regardless of whether the currently > cached object in memory and perhaps in the future will be thrown in > the database update() ) the exclusive right to manually change some > fields directly in the database. As well as an option at all can make > individual masks for each event ( persist(), update(), load() ). Yes, that sounds like a good idea in general, however, it has one major drawback -- efficiency. Right now ODB prepares the text of statements (for persist, update, load, etc) at compile-time because it knows how many data members an object has, their types, etc. At runtime it used database-prepared statement and caches/reuses them (actually, each object has a set of cached prepared statement for each database connection). The functions that convert between objects and their images as well as bind parameters/results are also very simple because the ODB compiler knows a lot of things about the object at compile time. In other words, ODB is designed to be very efficient. And, not surprisingly, some users reported several orders of magnitude performance advantage compared to more "dynamic" ORMs such as Hibernate for Java. Now, if we have to decide at runtime which members must be sent to the database, a lot of these optimizations become impossible: We cannot prepare text for statements because we don't know which values will be sent. So we have to do it at runtime. Worse yet, we cannot cache/reuse prepared statements because there could be a large number of them, each for a certain combination of data members. The various functions I mentioned above will also become more complex because now they need to check whether each member is actually being sent. Having said that, the mask idea is not bad, and we have already thought about something like this in the context of change tracking/detection with the goal of producing minimal updates. Right now, ODB will send the complete object even if only one member has been changed. This is obviously not ideal but the alternatives have major drawbacks as well, as I have described above. One middle-ground solution to this might be the ability to "partition" data members in an object into multiple "sections" that can be loaded/updated independently. Boris From kontakt at msnoch.pl Wed Sep 7 13:28:12 2011 From: kontakt at msnoch.pl (Michal Snoch) Date: Wed Sep 7 13:28:22 2011 Subject: [odb-users] Qt + Odb In-Reply-To: References: Message-ID: Hi friends, I'm trying to use odb with Qt (QString). I have Qt 4.7.3 compilled by myself on linux. QT application works fine, odb by himself also, but when i'm trying to compile (via odb compiller) file that contains QString - it throws "fatal error: QString: No such file or directory". I had compilled Qt profile library. I'm using command: /usr/local/odb/bin/odb -d pgsql -p qt --hxx-suffix .hpp --ixx-suffix .ipp --cxx-suffix .cpp file.h Thanks for you advice Michal From boris at codesynthesis.com Wed Sep 7 14:17:29 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Wed Sep 7 14:20:02 2011 Subject: [odb-users] Qt + Odb In-Reply-To: References: Message-ID: Hi Michal, Michal Snoch writes: > QT application works fine, odb by himself also, but when i'm trying to > compile (via odb compiller) file that contains QString - it throws > "fatal error: QString: No such file or directory". > > /usr/local/odb/bin/odb -d pgsql -p qt --hxx-suffix .hpp --ixx-suffix .ipp > --cxx-suffix .cpp file.h I think you need to add the -I options to the above command line with the path to the Qt headers, something like, -I ..../qt4 -I ..../qt4/QtCore. You must be already passing something like this to the C++ (g++) compiler when building your Qt-based applications. Boris From fforcus at rambler.ru Wed Sep 7 15:20:31 2011 From: fforcus at rambler.ru (fforcus@rambler.ru) Date: Thu Sep 8 07:36:13 2011 Subject: [odb-users] Composite primary key support Message-ID: <149950870.1315423231.76016568.93056@mperl22.rambler.ru> I have tried to generate database scheme for class Composite which have composite primary key: ? #pragma db value class CompositeKey { public: CompositeKey () { } int first; int second; }; #pragma db object pointer(*) class Composite { public: Composite() { } #pragma db id CompositeKey id; }; Generated scheme is (for SQLite): CREATE TABLE "Composite" ( "id_first" INTEGER NOT NULL, "id_second" INTEGER NOT NULL); I was expecting scheme like: CREATE TABLE "Composite" ( "id_first" INTEGER NOT NULL, "id_second" INTEGER NOT NULL, PRIMARY KEY("id_first", "id_second")); When generate ODB code for class which contains vector of Composite pointer: #pragma db object class Container { public: Container() { } #pragma db id int id; std::vector values; }; I got error: unable to map C++ type '::__gnu_cxx::new_allocator< ::Composite* >::value_type' used in data member 'values' to a database type Is possible to use composite value as primary key? From boris at codesynthesis.com Thu Sep 8 07:43:02 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 8 07:45:34 2011 Subject: [odb-users] Qt + Odb In-Reply-To: References: Message-ID: Hi Michal, In the future please keep your replies CC'ed to the odb-users mailing list as discussed in the posting guidelines: http://www.codesynthesis.com/support/posting-guidelines.xhtml Michal Snoch writes: > I figured out that passing > > odb --profile qt --database pgsql test.cpp > -I/usr/local/Trolltech/Qt-4.7.3/include > > solves half of the problem. I can compile file, but i have to have > headers like this > > #include > > But what should I do to be able to use normal ? I think that is > gcc problem, not odb, but maybe you can help? If you want to include QString as just , you will need to add: -I/usr/local/Trolltech/Qt-4.7.3/include/QtCore In addition to: -I/usr/local/Trolltech/Qt-4.7.3/include In ODB source we include it as , which seems to be a more portable way even though the Qt documentation suggests that we include it as . For example, for Mac OS X, Qt is built as a framework. If you pass -framework QtCore to the compiler, you only get the path to the include/ directory, not to include/QtCore/. Boris From boris at codesynthesis.com Thu Sep 8 07:46:12 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 8 07:48:43 2011 Subject: [odb-users] Composite primary key support In-Reply-To: <149950870.1315423231.76016568.93056@mperl22.rambler.ru> References: <149950870.1315423231.76016568.93056@mperl22.rambler.ru> Message-ID: Hi, fforcus@rambler.ru writes: > Is possible to use composite value as primary key? No, this is not yet supported thought it is at the top of our TODO list. Hopefully we will implement composite ids in the next couple of releases. Boris From art at it-gen.net Fri Sep 9 08:32:39 2011 From: art at it-gen.net (=?KOI8-R?B?99HexdPMwdcg89DJ0snEz87P1w==?=) Date: Fri Sep 9 08:33:08 2011 Subject: [odb-users] Explain please the essence of the strange update_statement Message-ID: Dear, Boris and odb-users Explain please the essence of the strange update_statement. PRAGMA_DB(object table("players")) class CDboPlayer { public: PRAGMA_DB(id) int Id; PRAGMA_DB(type("TIMESTAMP")) ptime LastAuth; string Name; private: friend class odb::access; }; const char* const access::object_traits< ::CDboPlayer >::update_statement = "UPDATE `players` SET " "`Id` = ?," "`LastAuth` = ?," "`Name` = ?" " WHERE `Id` = ?"; What is the point in UPDATE to overwrite PRIMARY KEY? It seems to me that this could a negatively affect to the group UPDATE. Now I am faced with a situation when the update 50K of objects CDboPlayer work out very slowly (about a few minutes.) The operation was carried out a single-stream, any locks are excluded. Best regards, Viacheslav and SBA From boris at codesynthesis.com Fri Sep 9 09:54:00 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Sep 9 09:56:32 2011 Subject: [odb-users] Re: Explain please the essence of the strange update_statement In-Reply-To: References: Message-ID: Hi Viacheslav, ???????? ?????????? writes: > const char* const access::object_traits< ::CDboPlayer >::update_statement = > "UPDATE `players` SET " > "`Id` = ?," > "`LastAuth` = ?," > "`Name` = ?" > " WHERE `Id` = ?"; > > What is the point in UPDATE to overwrite PRIMARY KEY? The main reason is to reuse some data structures between the UPDATE and INSERT statements. Our thinking is that it doesn't hurt since we always send the same value as is already in the database and the database implementation is smart enough to detect this and not do anything expensive. > It seems to me that this could a negatively affect to the group > UPDATE. Now I am faced with a situation when the update 50K of > objects CDboPlayer work out very slowly (about a few minutes.) > The operation was carried out a single-stream, any locks are > excluded. Hm, are you saying that by just including the primary key in UPDATE, it slows MySQL down significantly? Can you show some numbers that substantiate this (e.g., a how long it takes to run UPDATE with primary key included (but the same value as already in the database) vs the same statement without the primary key)? If this is true then we will definitely have to fix this. Boris From johannes.lochmann at googlemail.com Sun Sep 11 13:40:09 2011 From: johannes.lochmann at googlemail.com (Johannes Lochmann) Date: Sun Sep 11 14:25:40 2011 Subject: [odb-users] cmake and odt Message-ID: <4E6CF279.40400@googlemail.com> Hello, is anybody using odb in a cmake environment and can give me some hints on how to handle the call to the odb compiler? Thank you Johannes From kontakt at msnoch.pl Sun Sep 11 17:06:49 2011 From: kontakt at msnoch.pl (Michal Snoch) Date: Sun Sep 11 17:06:59 2011 Subject: [odb-users] cmake and odt In-Reply-To: <4E6CF279.40400@googlemail.com> References: <4E6CF279.40400@googlemail.com> Message-ID: Hi Johann, I had same problem few days before :) I'm not sure if it's the one or the best option to solve the problem but that works for me fine. First of all, you have to have var with headers which you want to parse with odb i.e. set(core_odb_src header1.h header2.h ... headerN.h) secondy you have to add something like this (I probably found solution on this group but im not sure ;) ) foreach(_file ${core_odb_src}) string(REPLACE ".h" "-odb.cpp" gencppfile ${_file}) add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${gencppfile} COMMAND /usr/local/odb/bin/odb --database pgsql --profile qt --hxx-suffix .hpp --ixx-suffix .ipp --cxx-suffix .cpp --output-dir ${CMAKE_CURRENT_SOURCE_DIR} --generate-query --generate-schema --schema-format embedded ${CMAKE_CURRENT_SOURCE_DIR}/${_file} -I${QT_INCLUDE_DIR}/QtCore -I${QT_INCLUDE_DIR} DEPENDS ${_file} COMMENT "Building odb for ${_file}" ) list(APPEND core_lib_src ${gencppfile}) endforeach() As you see I need to add some options to odb, but it's not necessary if you not use boost or qt. Im wondering if I can set some runtime option in cmake (ie -odb=pathtoodb) so i can do it more flexible? The last thing is adding the libraries target_link_libraries(core odb odb-pgsql odb-qt) Complete cmake file looks like this set(core_lib_src core.cpp line.cpp) set(core_lib_headers core.h) set(core_odb_src line.h) INCLUDE(${QT_USE_FILE}) ADD_DEFINITIONS(${QT_DEFINITIONS}) foreach(_file ${core_odb_src}) string(REPLACE ".h" "-odb.cpp" gencppfile ${_file}) add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${gencppfile} COMMAND /usr/local/odb/bin/odb --database pgsql --profile qt --hxx-suffix .hpp --ixx-suffix .ipp --cxx-suffix .cpp --output-dir ${CMAKE_CURRENT_SOURCE_DIR} --generate-query --generate-schema --schema-format embedded ${CMAKE_CURRENT_SOURCE_DIR}/${_file} -I${QT_INCLUDE_DIR}/QtCore -I${QT_INCLUDE_DIR} DEPENDS ${_file} COMMENT "Building odb for ${_file}" ) list(APPEND core_lib_src ${gencppfile}) endforeach() add_library(core SHARED ${core_lib_src}) target_link_libraries(core odb odb-pgsql odb-qt) target_link_libraries(core ${QT_LIBRARIES} plugins) I hope that help :) Michal Dnia 11-09-2011 o 19:40:09 Johannes Lochmann napisa?(a): > Hello, > > is anybody using odb in a cmake environment and can give me some hints > on how to handle the call to the odb compiler? > > Thank you > > Johannes From boris at codesynthesis.com Mon Sep 12 07:47:54 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Sep 12 07:50:28 2011 Subject: [odb-users] cmake and odt In-Reply-To: References: <4E6CF279.40400@googlemail.com> Message-ID: Hi folks, Michal, thanks for sharing your CMake file with us. One place to look for a sample CMake file that does something similar is the "Using XSD with CMake" Wiki page[1]. The compilation part should be quite similar and the only significant difference is that ODB requires linking to a few runtime libraries while XSD does not (libxsd is header- only). I have also started the "Using ODB with CMake" page[2] where for now I just linked to Michal's email. If anyone comes up with a more complete support for CMake or additional instructions, feel free to add them to the Wiki page or post to the odb-users mailing list. This will definitely be much appreciated. [1] http://wiki.codesynthesis.com/Using_XSD_with_CMake [2] http://wiki.codesynthesis.com/Using_ODB_with_CMake Boris From gerasch at informatik.uni-tuebingen.de Wed Sep 14 05:07:15 2011 From: gerasch at informatik.uni-tuebingen.de (Andreas Gerasch) Date: Wed Sep 14 05:07:27 2011 Subject: [odb-users] Querying string containers... Message-ID: <4E706EC3.3090607@informatik.uni-tuebingen.de> Hi Boris, we are now using your odb lib in our project and it works great, thanks a lot! But we would like to have some additional features... so when do you plan to implement queries for containers, as discussed several month ago at the ML? class UtilityClass { ... std::vector comment; ... } odb::query::comment.contains ("some_string") Also queries of type odb::query::xrefs::db = "some_string" where xrefs is a pointer to an Xref class containing a string attribute "db" or a container attribute would be great to have. Best regards, Andreas Gerasch -------------- next part -------------- A non-text attachment was scrubbed... Name: gerasch.vcf Type: text/x-vcard Size: 435 bytes Desc: not available Url : http://codesynthesis.com/pipermail/odb-users/attachments/20110914/9f89cf79/gerasch.vcf From johannes.lochmann at googlemail.com Wed Sep 14 03:02:56 2011 From: johannes.lochmann at googlemail.com (Johannes Lochmann) Date: Wed Sep 14 07:32:10 2011 Subject: [odb-users] cmake and odt In-Reply-To: References: <4E6CF279.40400@googlemail.com> Message-ID: <4E7051A0.5010202@googlemail.com> Hi Michal, hi list, works perfectly! Thank you Johannes Am 11.09.11 23:06, schrieb Michal Snoch: > Hi Johann, > > I had same problem few days before :) I'm not sure if it's the one or > the best option to solve > the problem but that works for me fine. > > First of all, you have to have var with headers which you want to > parse with odb i.e. > > set(core_odb_src header1.h header2.h ... headerN.h) > > secondy you have to add something like this (I probably found solution > on this group but im not sure ;) ) > > foreach(_file ${core_odb_src}) > string(REPLACE ".h" "-odb.cpp" gencppfile ${_file}) > add_custom_command( > OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${gencppfile} > COMMAND /usr/local/odb/bin/odb --database pgsql --profile qt > --hxx-suffix .hpp --ixx-suffix .ipp --cxx-suffix .cpp > --output-dir ${CMAKE_CURRENT_SOURCE_DIR} > --generate-query --generate-schema --schema-format embedded > ${CMAKE_CURRENT_SOURCE_DIR}/${_file} > -I${QT_INCLUDE_DIR}/QtCore > -I${QT_INCLUDE_DIR} > DEPENDS ${_file} > COMMENT "Building odb for ${_file}" > ) > list(APPEND core_lib_src ${gencppfile}) > endforeach() > > As you see I need to add some options to odb, but it's not necessary > if you not use boost or qt. Im wondering > if I can set some runtime option in cmake (ie -odb=pathtoodb) so i can > do it more flexible? > > The last thing is adding the libraries > > target_link_libraries(core odb odb-pgsql odb-qt) > > Complete cmake file looks like this > > set(core_lib_src core.cpp line.cpp) > > set(core_lib_headers core.h) > set(core_odb_src line.h) > > INCLUDE(${QT_USE_FILE}) > ADD_DEFINITIONS(${QT_DEFINITIONS}) > > foreach(_file ${core_odb_src}) > string(REPLACE ".h" "-odb.cpp" gencppfile ${_file}) > add_custom_command( > OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${gencppfile} > COMMAND /usr/local/odb/bin/odb --database pgsql --profile qt > --hxx-suffix .hpp --ixx-suffix .ipp --cxx-suffix .cpp > --output-dir ${CMAKE_CURRENT_SOURCE_DIR} > --generate-query --generate-schema --schema-format embedded > ${CMAKE_CURRENT_SOURCE_DIR}/${_file} > -I${QT_INCLUDE_DIR}/QtCore > -I${QT_INCLUDE_DIR} > DEPENDS ${_file} > COMMENT "Building odb for ${_file}" > ) > list(APPEND core_lib_src ${gencppfile}) > endforeach() > > add_library(core SHARED ${core_lib_src}) > > target_link_libraries(core odb odb-pgsql odb-qt) > target_link_libraries(core ${QT_LIBRARIES} plugins) > > I hope that help :) > > Michal > > Dnia 11-09-2011 o 19:40:09 Johannes Lochmann > napisa?(a): > >> Hello, >> >> is anybody using odb in a cmake environment and can give me some >> hints on how to handle the call to the odb compiler? >> >> Thank you >> >> Johannes > From boris at codesynthesis.com Wed Sep 14 07:51:49 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Wed Sep 14 07:54:19 2011 Subject: [odb-users] Querying string containers... In-Reply-To: <4E706EC3.3090607@informatik.uni-tuebingen.de> References: <4E706EC3.3090607@informatik.uni-tuebingen.de> Message-ID: Hi Andreas, Andreas Gerasch writes: > we are now using your odb lib in our project and it works great, thanks > a lot! I am glad you are anjoying it! > But we would like to have some additional features... so when do you > plan to implement queries for containers, as discussed several month ago > at the ML? > > class UtilityClass { > ... > std::vector comment; > ... > } > > odb::query::comment.contains ("some_string") We have a (long) list of features that people have requested or that we thought would be generally useful. Now the line for the container support in queries has an extra +1. However, I don't have a definite time-line for when this particular feature will be implemented. As I said, the TODO list is quite long and some features on it appear to be more critical. Also, I am currently working on the view feature which has an open- ended list of applications. Maybe you will be able to use it to emulate container queries for the time being. The pre-release should be out in a couple of days. > Also queries of type > > odb::query::xrefs::db = "some_string" > > where xrefs is a pointer to an Xref class containing a string attribute > "db" This is supported. Doesn't it work for you? Boris From art at it-gen.net Wed Sep 14 12:04:47 2011 From: art at it-gen.net (=?KOI8-R?B?99HexdPMwdcg89DJ0snEz87P1w==?=) Date: Thu Sep 15 03:29:48 2011 Subject: [odb-users] Executing a Query with cache = false is a reason segmentation fault Message-ID: Dear, Boris and odb-users Sorry for replay message. I'm suddenly faced with a segmentation fault. The localization problem has been reduced to the following code and data. I noticed that the content of these influences on the manifestation of the error. Now I have consistently obtain an error on this data set. If you are using cache = true error does not occur. gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.6.1 (Debian 4.6.1-4) odb --version ODB object-relational mapping (ORM) compiler for C++ 1.5.0 Copyright (c) 2009-2011 Code Synthesis Tools CC This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // file : main.cpp #include #include #include "CDboPlayer-odb.hxx" using namespace std; int main(int argc, char** argv) { using namespace odb; typedef mysql::database* TConnectionPtr; TConnectionPtr p_conn = new odb::mysql::database("sba", "sba", "test", "localhost"); { transaction t(p_conn->begin()); p_conn->execute("SET names utf8"); t.commit(); } typedef odb::query query; typedef odb::result result; int c = 0; { transaction t(p_conn->begin()); result r(p_conn->query(false)); CDboPlayer dbo; for (result::iterator it(r.begin()); it!=r.end(); ++it) { it.load(dbo); ++c; } t.commit(); } cout << c << "\n"; return 0; } ---------------------------------------------------------------------------------------------------- // file : db/CDboPlayer.h #ifndef _CDBOPLAYER_H #define _CDBOPLAYER_H #include #include #include using namespace std; PRAGMA_DB(object table("players3")) class CDboPlayer { public: PRAGMA_DB(id auto) uint Id; PRAGMA_DB(type("TINYTEXT")) string PlayerId; PRAGMA_DB(type("TINYTEXT")) string Name; PRAGMA_DB(type("MEDIUMTEXT")) string Data; private: friend class odb::access; }; #endif // _CDBOPLAYER_H ---------------------------------------------------------------------------------------------------- odb --database mysql --generate-query --mysql-engine MyISAM CDboPlayer.h ---------------------------------------------------------------------------------------------------- CREATE TABLE IF NOT EXISTS `players3` ( `Id` int(10) unsigned NOT NULL AUTO_INCREMENT, `PlayerId` tinytext NOT NULL, `Name` tinytext NOT NULL, `Data` mediumtext NOT NULL, PRIMARY KEY (`Id`), KEY `PlayerId` (`PlayerId`(4)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ; INSERT INTO `players3` (`Id`, `PlayerId`, `Name`, `Data`) VALUES (1, 'PlayerId', '????', '22 serialization::archive 9 0 3 1307689832 0 0 1 0 0 0 1 0 2 1 7 8 1 3 122259.86249999999 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 1 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.23054547281544258 4 0.10000000000000001 5 0.17808654846620983 6 0.10000000000000001 7 0.10000000000000001 8 0.10000000000000001 9 0.47844284995740172 10 0.51292512876094587 6 0 1 0.4485443168545814 2 0.7975603803049589 3 0.29374687228991969 4 0.6285041744022184 5 0.50824660263408283 6 0.99924496896529802 0 0 0 15 not-a-date-time 0 0 0 1 0 0 0 1704 1 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 2 3 131078 1302 1\n1\n2 -1 -1 0 2 2 0 0 0 0 1 0 0 9 008368130 0 0 0 0 0 0 1 0\n3 2 0 0 9 001436090 0 0 0 0 0 0\n4\n5 -1 0 0 11 0 0 0 259 0 0 1 255 260 1 4 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 4 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (2, 'PlayerId', '??????', '22 serialization::archive 9 0 3 1306936053 0 0 1 0 0 0 1 0 2 1 7 7 1 0 105383.31000000001 1310155200 0 0 74 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.35528958388970089 2 0.10000000000000001 3 0.45984201058104696 4 0.10000000000000001 5 0.10000000000000001 6 0.10000000000000001 7 0.29781371701724857 8 0.10000000000000001 9 0.10000000000000001 10 0.28705468851200361 6 0 1 0.48576366616681388 2 0.65540061502503266 3 0.4165354670102408 4 0.40258591892318146 5 0.71021507964945174 6 0.43130035224896873 0 0 0 15 not-a-date-time 0 0 0 0 0 0 2 1 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0\n1 -1 -1 0 2 2 0 0 0 0 1 0 0 5 00101 0 0 0 0 0 0 1 0\n2 2 0 0 4 0032 0 0 0 0 0 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (3, 'PlayerId', '??????', '22 serialization::archive 9 0 3 1315813829 0 0 1 0 0 0 1 0 4 1 11 12 2 1 522.34142563817261 1315840431 0 0 185 0 0 0 0 0 0 0 87401 0 0 0 0 0 0 1 1 87401 0 0 0 1 0 0 2 2 87401 0 0 0 2 0 0 3 3 87401 0 0 0 3 0 0 4 4 87401 0 0 0 4 0 0 5 5 87401 0 0 0 5 0 0 6 6 87401 0 0 0 6 0 0 7 7 87401 0 0 0 7 0 0 8 8 87401 0 0 0 8 0 0 9 9 87401 0 0 0 9 0 0 10 10 87401 0 0 0 10 0 0 256 256 87501 0 0 3 0 1 0 257 257 87501 0 0 3 1 1 0 258 258 87501 0 0 3 2 1 0 259 259 87501 0 0 3 3 1 0 260 260 87501 0 0 3 4 1 0 261 261 87501 0 0 3 5 1 0 262 262 87501 0 0 3 6 1 0 263 263 87501 0 0 0 7 1 0 264 264 3301 0 0 0 8 1 0 265 265 87401 0 0 0 9 1 0 266 266 87401 0 0 0 10 1 0 519 519 87501 0 0 0 7 2 0 520 520 3301 0 0 0 8 2 0 521 521 87401 0 0 0 9 2 0 522 522 87401 0 0 0 10 2 0 775 775 87501 0 0 0 7 3 0 776 776 3301 0 0 0 8 3 0 777 777 87401 0 0 0 9 3 0 778 778 87401 0 0 0 10 3 0 1024 1024 3301 0 0 0 0 4 0 1025 1025 3301 0 0 0 1 4 0 1026 1026 3301 0 0 0 2 4 0 1031 1031 87501 0 0 0 7 4 0 1032 1032 3301 0 0 0 8 4 0 1033 1033 87401 0 0 0 9 4 0 1034 1034 87401 0 0 0 10 4 0 1280 1280 3301 0 0 0 0 5 0 1281 1281 3301 0 0 0 1 5 0 1282 1282 3301 0 0 0 2 5 0 1287 1287 87501 0 0 0 7 5 0 1288 1288 3301 0 0 0 8 5 0 1289 1289 87401 0 0 0 9 5 0 1290 1290 87401 0 0 0 10 5 0 1536 1536 3301 0 0 0 0 6 0 1537 1537 3301 0 0 0 1 6 0 1538 1538 3301 0 0 0 2 6 0 1543 1543 87501 0 0 0 7 6 0 1544 1544 3301 0 0 0 8 6 0 1545 1545 87401 0 0 0 9 6 0 1546 1546 87401 0 0 0 10 6 0 1799 1799 87501 0 0 0 7 7 0 1800 1800 3301 0 0 0 8 7 0 1801 1801 87401 0 0 0 9 7 0 1802 1802 87401 0 0 0 10 7 0 2055 2055 87501 0 0 0 7 8 0 2056 2056 3301 0 0 0 8 8 0 2057 2057 87401 0 0 0 9 8 0 2058 2058 87401 0 0 0 10 8 0 2304 2304 87501 0 0 3 0 9 0 2305 2305 87501 0 0 3 1 9 0 2306 2306 87501 0 0 3 2 9 0 2307 2307 87501 0 0 3 3 9 0 2308 2308 87501 0 0 3 4 9 0 2309 2309 87501 0 0 3 5 9 0 2310 2310 87501 0 0 3 6 9 0 2311 2311 87501 0 0 0 7 9 0 2312 2312 3301 0 0 0 8 9 0 2313 2313 87401 0 0 0 9 9 0 2314 2314 87401 0 0 0 10 9 0 2560 2560 87401 0 0 0 0 10 0 2561 2561 87401 0 0 0 1 10 0 2562 2562 87401 0 0 0 2 10 0 2563 2563 87401 0 0 0 3 10 0 2564 2564 87401 0 0 0 4 10 0 2565 2565 87401 0 0 0 5 10 0 2566 2566 87401 0 0 0 6 10 0 2567 2567 87401 0 0 0 7 10 0 2568 2568 87401 0 0 0 8 10 0 2569 2569 87401 0 0 0 9 10 0 2570 2570 87401 0 0 0 10 10 0 2816 2816 87401 0 0 0 0 11 0 2817 2817 87401 0 0 0 1 11 0 2818 2818 87401 0 0 0 2 11 0 2819 2819 87401 0 0 0 3 11 0 2820 2820 87401 0 0 0 4 11 0 2821 2821 87401 0 0 0 5 11 0 2822 2822 87401 0 0 0 6 11 0 2823 2823 87401 0 0 0 7 11 0 2824 2824 87401 0 0 0 8 11 0 2825 2825 87401 0 0 0 9 11 0 2826 2826 87401 0 0 0 10 11 0 66048 66048 4001 0 0 0 0 2 0 66049 66049 4001 0 0 0 1 2 0 66050 66050 4001 0 0 0 2 2 0 66051 66051 4001 0 0 0 3 2 0 66052 66052 4001 0 0 0 4 2 0 66053 66053 4001 0 0 0 5 2 0 66054 66054 4001 0 0 0 6 2 0 66304 66304 3901 0 0 0 0 3 0 66305 66305 3901 0 0 0 1 3 0 66306 66306 3901 0 0 0 2 3 0 66307 66307 3901 0 0 0 3 3 0 66308 66308 4001 0 0 0 4 3 0 66309 66309 3901 0 0 0 5 3 0 66310 66310 4001 0 0 0 6 3 0 66563 66563 3901 0 0 0 3 4 0 66564 66564 4001 0 0 0 4 4 0 66565 66565 3901 0 0 0 5 4 0 66566 66566 4001 0 0 0 6 4 0 66819 66819 3901 0 0 0 3 5 0 66820 66820 4001 0 0 0 4 5 0 66821 66821 3901 0 0 0 5 5 0 66822 66822 4001 0 0 0 6 5 0 67075 67075 3901 0 0 0 3 6 0 67076 67076 4001 0 0 0 4 6 0 67077 67077 3901 0 0 0 5 6 0 67078 67078 4001 0 0 0 6 6 0 67328 67328 3901 0 0 0 0 7 0 67329 67329 3901 0 0 0 1 7 0 67330 67330 3901 0 0 0 2 7 0 67331 67331 3901 0 0 0 3 7 0 67332 67332 4001 0 0 0 4 7 0 67333 67333 3901 0 0 0 5 7 0 67334 67334 4001 0 0 0 6 7 0 67584 67584 4001 0 0 0 0 8 0 67585 67585 4001 0 0 0 1 8 0 67586 67586 4001 0 0 0 2 8 0 67587 67587 4001 0 0 0 3 8 0 67588 67588 4001 0 0 0 4 8 0 67589 67589 4001 0 0 0 5 8 0 67590 67590 4001 0 0 0 6 8 0 131072 131072 6102 0 0 0 0 0 0 131073 131073 11701 0 0 0 1 0 1 131074 131074 11701 0 0 0 2 0 1 131075 131075 7401 1315861757 0 0 3 0 3 131078 131078 11701 0 0 0 6 0 1 131079 131079 11701 0 0 0 7 0 1 131080 131080 6102 0 0 0 8 0 0 131081 131081 701 0 0 3 9 0 0 131845 131845 15101 1315850952 0 3 5 3 3 132096 132096 402 0 0 3 0 4 0 132105 132105 701 0 0 3 9 4 0 132355 132355 2302 0 0 3 3 5 1 132357 132357 32601 0 0 0 5 5 0 132869 132869 15101 1315850953 0 3 5 7 3 133385 133385 701 0 0 3 9 9 0 133632 133632 701 0 0 0 0 10 0 133636 133636 701 0 0 0 4 10 0 1572864 1572864 4901 0 1 0 0 0 0 1572865 1572865 4901 0 1 0 1 0 0 1572866 1572866 4901 0 1 0 2 0 0 1572867 1572867 4901 0 1 0 3 0 0 1572868 1572868 4901 0 1 0 4 0 0 1572869 1572869 4901 0 1 0 5 0 0 1572870 1572870 4901 0 1 0 6 0 0 1572871 1572871 4901 0 1 0 7 0 0 1572872 1572872 4901 0 1 0 8 0 0 1572873 1572873 4901 0 1 0 9 0 0 1572874 1572874 4901 0 1 0 10 0 0 1638404 1638404 5401 0 1 0 4 0 0 1638407 1638407 31901 0 1 0 7 0 0 1638409 1638409 32301 0 1 0 9 0 0 1638410 1638410 5501 0 1 0 10 0 0 2621440 2621440 4602 0 2 0 0 0 0 2621441 2621441 4602 0 2 0 1 0 0 2621442 2621442 4901 0 2 0 2 0 0 2621443 2621443 4602 0 2 0 3 0 0 2621444 2621444 4602 0 2 0 4 0 0 2621445 2621445 4602 0 2 0 5 0 0 2621446 2621446 4602 0 2 0 6 0 0 2621447 2621447 4602 0 2 0 7 0 0 2621448 2621448 4602 0 2 0 8 0 0 2621449 2621449 4602 0 2 0 9 0 0 2621450 2621450 4602 0 2 0 10 0 0 2621451 2621451 4602 0 2 0 11 0 0 2686976 2686976 5601 0 2 0 0 0 0 2686979 2686979 5301 0 2 0 3 0 0 2686980 2686980 32701 0 2 0 4 0 0 2686981 2686981 5501 0 2 0 5 0 0 2686982 2686982 32701 0 2 0 6 0 0 2686983 2686983 5301 0 2 0 7 0 0 2686984 2686984 32301 0 2 0 8 0 0 2686985 2686985 5601 0 2 0 9 0 0 2686987 2686987 32301 0 2 0 11 0 0 0 0 2 0 0 0 3 61.999763170545499 4 156.26801338888893 10 0 1 0.10000000000000001 2 1.6753718100548312 3 0.10000000000000001 4 0.10000000000000001 5 0.10000000000000001 6 1.8267237987469698 7 0.10000000000000001 8 0.10000000000000001 9 0.18843502450235589 10 0.70946936669584326 6 0 1 0.61942040567259327 2 0.51424748725921265 3 0.22571096645002764 4 0.27569281685896818 5 0.86933378310377418 6 0.43755884665882161 0 0 0 8 20110801 371872.62922672438 0 0 6 0 0 0 1 0 0 8 20110815 0 0 0 7 56 15 0 4 8 20110909 0 16 56 47 0 7 8 20110815 0 12 8 6 0 8 8 20110815 0 8 38 39 0 9 8 20110910 0 16 24 3 0 10 8 20110828 0 12 8 53 0 2 0 9 8 20110910 0 16 24 3 0 10 8 20110828 0 12 8 53 0 0 0 16 0 0 0 401 1 3101 9 3301 79 4301 16 4901 11 5201 2 5801 2 6001 2 6102 2 6201 2 6301 2 31402 4 31702 7 31704 9 32301 1 87401 9 0 2 8 0 0 0 0 1 5 3 0 0 131078 11701 1 1 0\n0 2 6 3 131845 15101 1\n1 3 1 3 131075 7401 1\n2 4 4 3 131073 11701 1\n3 5 2 3 132355 2302 1\n4 6 8 3 132869 15101 1\n5 7 7 3 131079 11701 1\n6 8 3 3 131074 11701 1\n7\n8 -1 -1 0 2 8 0 0 0 0 1 0 0 9 009144527 0 0 0 0 0 0 1 0\n9 2 0 0 9 003556387 0 105 0 240 0 24\n10 3 0 0 10 0078772303 0 0 0 0 0 0\n11 4 0 0 10 0085812140 0 0 0 0 0 0\n12 5 1 1 0 1315857053 20 20 20 20 20\n13 6 0 0 11 00102749888 0 0 0 0 0 0\n14 7 1 1 0 1315857059 20 20 20 20 20\n15 8 1 1 0 1315857082 20 20 20 20 20\n16\n17 -1 0 0 19 0 0 0 259 0 0 1 3 260 1 4 261 1 5 513 2 1 515 2 3 516 2 4 770 3 2 771 3 3 772 3 4 1026 4 2 1027 4 3 1028 4 4 1281 5 1 1283 5 3 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 5 4 2 2 3 7 4 serg 8 20110912 0 18 8 24 0 9 0 2 3 4 5 6 7 8 9 10'), (4, 'PlayerId', '????', '22 serialization::archive 9 0 3 1306926737 0 0 1 0 0 0 1 0 2 1 7 8 1 2 116140.22055555556 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 0 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.30548931856302336 2 0.10000000000000001 3 0.22338094928435201 4 0.10000000000000001 5 0.10000000000000001 6 0.10000000000000001 7 0.54914265258439776 8 0.10000000000000001 9 0.32198707956822697 10 0.10000000000000001 6 0 1 0.31395105911137122 2 0.78999669169541287 3 0.68497848011785112 4 0.48897400139317571 5 0.34756761982458073 6 0.74996466662267447 3 0 0 15 not-a-date-time 0 0 0 0 0 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 4 0069 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (5, 'PlayerId', '???', '22 serialization::archive 9 0 3 1306927029 0 0 1 0 0 0 1 0 2 1 7 7 1 0 108539.38 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 0 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.24315426094587433 3 0.19940107223584688 4 0.10000000000000001 5 0.10000000000000001 6 0.3410212223176381 7 0.61642344450064068 8 0.10000000000000001 9 0.10000000000000001 10 0.10000000000000001 6 0 1 0.91279455754570415 2 0.99583563916191276 3 0.8160399715490827 4 0.56932713518353517 5 0.37187122487084534 6 0.50445164269974996 1 0 0 15 not-a-date-time 0 0 0 0 0 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 4 0089 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (6, 'PlayerId', '??????', '22 serialization::archive 9 0 3 1306927130 0 0 1 0 0 0 1 0 2 1 7 8 1 5 116288.40583333332 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 0 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.10000000000000001 4 0.17065115983202023 5 0.38148629056405303 6 0.22883604663809429 7 0.3019835876440895 8 0.10000000000000001 9 0.10000000000000001 10 0.41704291532174298 6 0 1 0.88570880288524045 2 0.48822721442590805 3 0.85251364440308608 4 0.76250927288202064 5 0.90703509929917536 6 0.45642347832043817 3 0 0 15 not-a-date-time 0 0 0 0 0 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 4 0063 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (7, 'PlayerId', '????', '22 serialization::archive 9 0 3 1306927369 0 0 1 0 0 0 1 0 2 1 7 8 1 3 116069.22027777779 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 0 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.51687553689655041 2 0.10000000000000001 3 0.10000000000000001 4 0.20872815268751216 5 0.10000000000000001 6 0.10000000000000001 7 0.27720532936971143 8 0.10000000000000001 9 0.39719098104622597 10 0.10000000000000001 6 0 1 0.29876789082715655 2 0.64686784914083217 3 0.78710695048193768 4 0.66614881701122453 5 0.50750236972584506 6 0.344894418560385 3 0 0 15 not-a-date-time 0 0 0 0 0 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 5 00123 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (8, 'PlayerId', '?????', '22 serialization::archive 9 0 3 1306927486 0 0 1 0 0 0 1 0 2 1 7 8 1 5 121176.54555555555 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 0 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.4808972136016314 2 0.10000000000000001 3 0.10000000000000001 4 0.11462096262225784 5 0.10000000000000001 6 0.10000000000000001 7 0.10000000000000001 8 0.10000000000000001 9 0.55601184597528841 10 0.24846997780082231 6 0 1 0.77983755198299765 2 0.59755211528276664 3 0.74462248782842533 4 0.70647972659509617 5 0.91866982947973064 6 0.56153835261312235 3 0 0 15 not-a-date-time 0 0 0 0 0 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 5 00634 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (9, 'PlayerId', '????', '22 serialization::archive 9 0 3 1308061928 0 0 1 0 0 0 1 0 2 1 7 7 1 6 105911.19861111113 1310155200 0 0 74 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.10000000000000001 4 0.10000000000000001 5 0.10000000000000001 6 0.10000000000000001 7 0.33477142262521747 8 0.33815652545195174 9 0.33847638990623596 10 0.3885956620165949 6 0 1 0.51987775616342102 2 0.38267229505939054 3 0.27096847112801326 4 0.3751750693540904 5 0.53090498909862016 6 0.824229080148148 0 0 0 15 not-a-date-time 0 0 0 1 0 0 0 1703 1 0 2 1 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0\n1 -1 -1 0 2 6 0 0 0 0 1 0 0 4 0066 0 0 0 0 0 0 1 0\n2 2 0 0 3 001 0 0 0 0 0 0\n3 3 0 0 3 002 0 0 0 192 0 0\n4 4 0 0 3 003 0 0 0 0 0 0\n5 5 0 0 3 004 0 0 0 0 0 0\n6 6 0 0 3 005 0 0 0 0 0 0\n7\n8 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (10, 'PlayerId', '?????', '22 serialization::archive 9 0 3 1315411259 0 0 1 0 0 0 1 0 4 1 12 13 1 4 0.0086478293326308631 1315512062 0 0 124 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 263 263 2603 0 0 0 7 1 0 264 264 2603 0 0 0 8 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 519 519 2603 0 0 0 7 2 0 520 520 2603 0 0 0 8 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2704 0 0 0 6 3 0 775 775 2603 0 0 0 7 3 0 776 776 2603 0 0 0 8 3 0 777 777 2603 0 0 0 9 3 0 778 778 2603 0 0 0 10 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1031 1031 2704 0 0 0 7 4 0 1032 1032 2704 0 0 0 8 4 0 1034 1034 2603 0 0 0 10 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1287 1287 2704 0 0 0 7 5 0 1288 1288 2704 0 0 0 8 5 0 1290 1290 2603 0 0 0 10 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 1543 1543 2602 0 0 0 7 6 0 1544 1544 2602 0 0 0 8 6 0 1545 1545 2603 0 0 0 9 6 0 1792 1792 2602 0 0 0 0 7 0 1793 1793 2602 0 0 0 1 7 0 1794 1794 2602 0 0 0 2 7 0 1795 1795 2602 0 0 0 3 7 0 1796 1796 2602 0 0 0 4 7 0 1797 1797 2602 0 0 0 5 7 0 1798 1798 2602 0 0 0 6 7 0 1799 1799 2602 0 0 0 7 7 0 1800 1800 2602 0 0 0 8 7 0 1801 1801 2602 0 0 0 9 7 0 2048 2048 2602 0 0 0 0 8 0 2049 2049 2602 0 0 0 1 8 0 2050 2050 2602 0 0 0 2 8 0 2051 2051 2602 0 0 0 3 8 0 2052 2052 2602 0 0 0 4 8 0 2053 2053 2602 0 0 0 5 8 0 2054 2054 2602 0 0 0 6 8 0 2055 2055 2602 0 0 0 7 8 0 2056 2056 2602 0 0 0 8 8 0 2305 2305 2602 0 0 0 1 9 0 2306 2306 2602 0 0 0 2 9 0 2307 2307 2602 0 0 0 3 9 0 2308 2308 2602 0 0 0 4 9 0 2309 2309 2602 0 0 0 5 9 0 2310 2310 2602 0 0 0 6 9 0 2561 2561 2602 0 0 0 1 10 0 2562 2562 2602 0 0 0 2 10 0 2563 2563 2602 0 0 0 3 10 0 2564 2564 2602 0 0 0 4 10 0 2565 2565 2602 0 0 0 5 10 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 1 132100 132100 1702 0 0 0 4 4 1 132361 132361 2301 0 0 0 9 5 1 132867 132867 103 0 0 0 3 7 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.10000000000000001 4 1.2612798096672007 5 1.1338113678571164 6 0.10000000000000001 7 0.10000000000000001 8 0.10000000000000001 9 0.10000000000000001 10 1.9049088224756827 6 0 1 0.48275504386180784 2 0.52433919139408469 3 0.45920022663623106 4 0.93272099491801175 5 0.25795042517499556 6 0.68912419364281197 0 0 0 15 not-a-date-time 0 0 0 2 0 0 0 1 0 0 8 20110908 0 0 0 8 53 7 0 3 8 20110907 0 16 4 41 0 0 0 0 0 3 0 0 0 102 1 1302 4 2001 1 0 2 4 0 0 0 0 2 6 3 0 0 131078 1302 1 1 0\n0 3 7 3 131074 2002 1\n1 7 4 3 132100 1702 1\n2 8 3 3 132361 2301 1\n3\n4 -1 -1 0 2 7 0 0 0 0 1 0 0 4 0055 0 0 0 0 0 0 1 0\n5 2 0 0 9 001436090 0 0 0 0 0 0\n6 3 0 0 10 0031763360 0 0 0 0 0 0\n7 4 0 0 10 0031763656 0 0 0 0 0 0\n8 5 0 0 9 003556387 0 0 0 0 0 0\n9 6 0 0 10 0078772303 0 0 0 0 0 0\n10 7 0 0 10 0095175224 0 0 0 0 0 0\n11\n12 -1 0 0 18 0 0 0 259 0 0 1 3 262 1 6 513 2 1 515 2 3 516 2 4 518 2 6 770 3 2 771 3 3 772 3 4 1026 4 2 1027 4 3 1281 5 1 1282 5 2 33025 129 1 33283 130 3 33538 131 2 33794 132 2 34049 133 1 1 3 1 4 3 2 2 10 owner club 8 20110908 0 12 5 6 0 9 0 2 3 4 5 6 7 8 9 10'), (11, 'PlayerId', '??????', '22 serialization::archive 9 0 3 1306928197 0 0 1 0 0 0 1 0 2 1 7 8 1 5 116745.93638888889 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 0 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.44845541834210068 4 0.46855470903980012 5 0.10000000000000001 6 0.28302621206701051 7 0.19996366055108872 8 0.10000000000000001 9 0.10000000000000001 10 0.10000000000000001 6 0 1 0.56853831092293294 2 0.69271969408389167 3 0.21519140490106839 4 0.56261485198634442 5 0.95603317988851733 6 0.41264212588436999 3 0 0 15 not-a-date-time 0 0 0 1 0 0 0 1703 1 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 4 0088 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (12, 'PlayerId', '????', '22 serialization::archive 9 0 3 1308061766 0 0 1 0 0 0 1 0 2 1 13 14 1 3 214013.625 1310155200 0 0 74 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2804 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.21384679692606795 4 0.3226775411871845 5 0.20160385464324909 6 0.10000000000000001 7 0.10000000000000001 8 0.52260312416934529 9 0.10000000000000001 10 0.23926868307415322 6 0 1 0.89403550061119508 2 0.20049554593884181 3 0.26072032379951343 4 0.46589827177389442 5 0.81801366425026845 6 0.453991387530226 0 0 0 8 20110609 0 0 0 2 0 0 0 1704 1 2602 1 0 2 1 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0\n1 -1 -1 0 2 6 0 0 0 0 1 0 0 4 0032 0 0 0 0 0 0 1 0\n2 2 0 0 3 001 0 0 0 0 0 0\n3 3 0 0 3 002 0 0 0 0 0 0\n4 4 0 0 3 003 0 0 0 0 0 0\n5 5 0 0 3 004 0 0 0 0 0 0\n6 6 0 0 3 005 0 0 0 0 0 0\n7\n8 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'), (13, 'PlayerId', '?????', '22 serialization::archive 9 0 3 1310058800 0 0 1 0 0 0 1 0 2 1 7 7 1 0 0 1311192001 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131073 131073 1302 0 0 0 1 0 0 131074 131074 2002 0 0 0 2 0 1 132100 132100 102 0 0 3 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.10000000000000001 4 0.10000000000000001 5 0.10000000000000001 6 0.23120123440689436 7 0.27592669237340828 8 0.10000000000000001 9 0.55721658169498012 10 0.33565549152471719 6 0 1 0.92629046585703767 2 0.31839052295237341 3 0.87352674150538023 4 0.75915507439484586 5 0.22091716528912875 6 0.88239660704620038 0 0 0 15 not-a-date-time 0 0 0 0 0 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131073 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 10 0064204219 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 88 33283 130 88 33538 131 88 33794 132 88 34049 133 88 1 3 1 2 2 1 1 0 0 0 8 20110707 0 0 0 21 15 20 0 0 0'), (14, 'PlayerId', '????', '22 serialization::archive 9 0 3 1310057775 0 0 1 0 0 0 1 0 2 1 7 7 1 0 0 1311278400 0 0 74 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 0 132100 132100 102 0 0 3 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.11006145739782784 4 0.50695729896326147 5 0.42315938169263034 6 0.10000000000000001 7 0.10000000000000001 8 0.10000000000000001 9 0.35982186194628041 10 0.10000000000000001 6 0 1 0.35838310353382641 2 0.35417693301764175 3 0.99206351749229404 4 0.29476950769069116 5 0.29050887007755644 6 0.76724018778989111 1 0 0 15 not-a-date-time 0 0 0 0 0 0 2 1 0 0 0 0 1 0 3 0 0 131074 2002 1 1 0\n0\n1 -1 -1 0 2 1 0 0 0 0 1 0 0 11 00112642151 0 0 0 0 0 0 1 0\n2\n3 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 136 33283 130 136 33538 131 136 33794 132 136 34049 133 136 1 3 1 2 2 1 2 6 maks + 0 0 8 20110708 0 0 0 5 53 2 0 0 0'), (15, 'PlayerId', '?????', '22 serialization::archive 9 0 3 1310057936 0 0 1 0 0 0 1 0 2 1 7 7 1 0 0 1311192001 0 0 74 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 132100 132100 102 0 0 3 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.68066132189231321 2 0.27382164064747194 3 0.10000000000000001 4 0.10000000000000001 5 0.10000000000000001 6 0.10000000000000001 7 0.12910942524272229 8 0.3164076122174927 9 0.10000000000000001 10 0.10000000000000001 6 0 1 0.37877580196539679 2 0.40698992656869348 3 0.28209475841470755 4 0.56518479490894125 5 0.810461123944475 6 0.77056432206675618 0 0 0 15 not-a-date-time 0 0 0 0 0 0 2 1 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0\n1 -1 -1 0 2 1 0 0 0 0 1 0 0 10 0016560247 0 0 0 0 0 0 1 0\n2\n3 -1 0 0 15 0 0 0 259 0 0 1 136 513 2 136 770 3 136 1026 4 136 1281 5 136 33025 129 136 33028 129 4 33283 130 136 33284 130 4 33538 131 136 33540 131 4 33794 132 136 33796 132 4 34049 133 136 34052 133 4 2 4 4 4 4 4 1 10 ????? 0 0 8 20110707 0 0 0 21 2 3 0 3 0 2 3 4'); INSERT INTO `players3` (`Id`, `PlayerId`, `Name`, `Data`) VALUES (16, 'PlayerId', '????', '22 serialization::archive 9 0 3 1310133918 0 0 1 0 0 0 1 0 4 1 7 7 1 5 4928.5511111111109 1315797016 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 0 131840 131840 1301 0 0 3 0 3 0 132100 132100 102 0 0 3 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.10000000000000001 4 0.10000000000000001 5 0.10000000000000001 6 0.45300058175536856 7 0.62074277383609811 8 0.22625664440853338 9 0.10000000000000001 10 0.10000000000000001 6 0 1 0.39225984783482737 2 0.90981559935482936 3 0.97898979037021738 4 0.933558429001625 5 0.8237151189817653 6 0.52834851384551662 0 0 0 15 not-a-date-time 0 0 0 0 0 0 0 0 0 1 0 0 0 1703 1 0 2 2 0 0 0 0 1 0 3 0 0 131074 2002 1 1 0\n0 2 0 3 131840 1301 1\n1\n2 -1 -1 0 2 2 0 0 0 0 1 0 0 10 0053339765 0 0 0 0 0 0 1 0\n3 2 0 0 10 0039519589 0 0 0 0 0 0\n4\n5 -1 0 0 11 0 0 0 259 0 0 1 104 261 1 5 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 104 33283 130 104 33538 131 104 33794 132 104 34049 133 104 1 5 1 2 2 1 1 4 koko 0 0 8 20110708 0 0 0 18 12 39 0 3 0 2 3 4'), (17, 'PlayerId', '?', '22 serialization::archive 9 0 3 1310761531 0 0 1 0 0 0 1 0 4 1 7 8 1 6 74171.825000000012 1315598402 0 0 85 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2703 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2703 0 0 0 2 5 0 1283 1283 2703 0 0 0 3 5 0 1284 1284 2703 0 0 0 4 5 0 1285 1285 2703 0 0 0 5 5 0 1286 1286 2703 0 0 0 6 5 0 1536 1536 2703 0 0 0 0 6 0 1537 1537 2703 0 0 0 1 6 0 1538 1538 2703 0 0 0 2 6 0 1539 1539 2703 0 0 0 3 6 0 1540 1540 2703 0 0 0 4 6 0 1541 1541 2703 0 0 0 5 6 0 1542 1542 2703 0 0 0 6 6 0 1792 1792 2703 0 0 0 0 7 0 1793 1793 2703 0 0 0 1 7 0 1794 1794 2703 0 0 0 2 7 0 1795 1795 2703 0 0 0 3 7 0 1796 1796 2703 0 0 0 4 7 0 1797 1797 2703 0 0 0 5 7 0 1798 1798 2703 0 0 0 6 7 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131072 131072 1302 0 0 0 0 0 0 131073 131073 1304 0 0 0 1 0 0 131074 131074 2002 0 0 0 2 0 1 131334 131334 1704 0 0 0 6 1 0 132100 132100 102 0 0 3 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4404 0 1 0 1 0 0 1572866 1572866 4404 0 1 0 2 0 0 1572867 1572867 4404 0 1 0 3 0 0 1572868 1572868 4404 0 1 0 4 0 0 1572869 1572869 4404 0 1 0 5 0 0 1572870 1572870 4404 0 1 0 6 0 0 2621440 2621440 4404 0 2 0 0 0 0 2621441 2621441 4404 0 2 0 1 0 0 2621442 2621442 4404 0 2 0 2 0 0 2621443 2621443 4404 0 2 0 3 0 0 2621444 2621444 4404 0 2 0 4 0 0 2621445 2621445 4404 0 2 0 5 0 0 2621446 2621446 4404 0 2 0 6 0 0 2621447 2621447 4404 0 2 0 7 0 0 0 0 1 0 0 0 10 1 10 0 1 0.1279140820362327 2 0.10000000000000001 3 0.10000000000000001 4 0.69762465160161513 5 0.10000000000000001 6 0.26620799310498722 7 0.10000000000000001 8 0.30825327325716512 9 0.10000000000000001 10 0.10000000000000001 6 0 1 0.97347853592293276 2 0.38385495850064555 3 0.41451029899274483 4 0.72028432549921995 5 0.51935831360489049 6 0.8527437444090582 0 0 0 8 20110708 0 0 0 0 0 0 0 0 0 2 0 0 0 2602 13 4402 13 0 2 4 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131072 1302 1\n1 3 0 3 131073 1304 1\n2 4 0 3 131334 1704 1\n3\n4 -1 -1 0 2 1 0 0 0 0 1 0 0 11 00111065803 0 0 0 0 0 0 1 0\n5\n6 -1 0 0 12 0 0 0 259 0 0 1 104 513 2 104 770 3 104 1026 4 104 1281 5 104 33025 129 1 33283 130 104 33286 130 6 33538 131 104 33540 131 4 33794 132 2 34049 133 1 2 1 6 4 2 1 1 10 Club Stars 0 0 8 20110716 0 0 0 0 25 31 0 5 0 2 3 4 5 6'), (18, 'PlayerId', '????????', '22 serialization::archive 9 0 3 1308839346 0 0 1 0 0 0 1 0 2 1 7 7 1 0 0 1310155200 0 0 75 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1302 0 0 0 6 0 0 132100 132100 102 0 0 1 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.10000000000000001 2 0.10000000000000001 3 0.36382656619062204 4 0.10000000000000001 5 0.10000000000000001 6 0.10000000000000001 7 0.38821475117695392 8 0.1374455181241829 9 0.33347847252876883 10 0.27703469197947234 6 0 1 0.36603835046572536 2 0.80849101609014484 3 0.33916077769322361 4 0.25426749179804115 5 0.31467060079549936 6 0.34765654399416251 0 0 0 15 not-a-date-time 0 0 0 0 0 0 2 2 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1302 1\n1\n2 -1 -1 0 2 1 0 0 0 0 1 0 0 11 00138907212 0 0 0 0 0 0 1 0\n3\n4 -1 0 0 14 0 0 0 259 0 0 1 152 513 2 152 770 3 152 1026 4 152 1281 5 152 33025 129 152 33028 129 4 33283 130 152 33286 130 6 33538 131 152 33540 131 4 33794 132 2 34049 133 152 34052 133 4 2 4 6 4 2 4 3 0 0 0 15 not-a-date-time 0 0'), (19, 'PlayerId', '????', '22 serialization::archive 9 0 3 1310664616 0 0 1 0 0 0 1 0 4 1 7 7 1 0 0 1315425602 0 0 74 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 66560 66560 3701 0 0 0 0 4 0 66561 66561 3701 0 0 0 1 4 0 66562 66562 3701 0 0 0 2 4 0 66816 66816 3701 0 0 0 0 5 0 66817 66817 3701 0 0 0 1 5 0 66818 66818 3701 0 0 0 2 5 0 67072 67072 3701 0 0 0 0 6 0 67073 67073 3701 0 0 0 1 6 0 67074 67074 3701 0 0 0 2 6 0 131074 131074 2002 0 0 0 2 0 1 132100 132100 102 0 0 3 4 4 0 1572864 1572864 4402 0 1 0 0 0 0 1572865 1572865 4402 0 1 0 1 0 0 1572866 1572866 4402 0 1 0 2 0 0 1572867 1572867 4402 0 1 0 3 0 0 1572868 1572868 4402 0 1 0 4 0 0 1572869 1572869 4402 0 1 0 5 0 0 1572870 1572870 4402 0 1 0 6 0 0 2621440 2621440 4402 0 2 0 0 0 0 2621441 2621441 4402 0 2 0 1 0 0 2621442 2621442 4402 0 2 0 2 0 0 2621443 2621443 4402 0 2 0 3 0 0 2621444 2621444 4402 0 2 0 4 0 0 2621445 2621445 4402 0 2 0 5 0 0 2621446 2621446 4402 0 2 0 6 0 0 0 0 0 0 10 0 0 0 1 0.27562106254932861 2 0.19104036608072561 3 0.39142656834476108 4 0.54191200302518461 5 0.10000000000000001 6 0.10000000000000001 7 0.10000000000000001 8 0.10000000000000001 9 0.10000000000000001 10 0.10000000000000001 6 0 1 0.37272606127556696 2 0.49311402379214492 3 0.29569348213062319 4 0.39114695088525631 5 0.7817941914227764 6 0.78931477544331674 0 0 0 15 not-a-date-time 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 1 1 3 0 0 131074 2002 1 1 0\n0\n1 -1 -1 0 2 1 0 0 0 0 1 0 0 10 0016359393 0 0 0 0 0 0 1 0\n2\n3 -1 0 0 10 0 0 0 259 0 0 1 88 513 2 88 770 3 88 1026 4 88 1281 5 88 33025 129 88 33283 130 88 33538 131 88 33794 132 88 34049 133 88 1 3 1 2 2 1 1 8 ???? 0 0 8 20110714 0 0 0 21 30 16 0 0 0'), (20, 'PlayerId', '???', '22 serialization::archive 9 0 3 1307535462 0 0 1 0 0 0 1 0 2 1 7 8 3 1 105531.91824185044 1310155200 0 0 103 0 0 0 0 0 0 0 2602 0 0 0 0 0 0 1 1 2602 0 0 0 1 0 0 2 2 2602 0 0 0 2 0 0 3 3 2602 0 0 0 3 0 0 4 4 2602 0 0 0 4 0 0 5 5 2602 0 0 0 5 0 0 6 6 2602 0 0 0 6 0 0 256 256 2602 0 0 0 0 1 0 257 257 2602 0 0 0 1 1 0 258 258 2602 0 0 0 2 1 0 259 259 2602 0 0 0 3 1 0 260 260 2602 0 0 0 4 1 0 261 261 2602 0 0 0 5 1 0 262 262 2602 0 0 0 6 1 0 512 512 2602 0 0 0 0 2 0 513 513 2602 0 0 0 1 2 0 514 514 2602 0 0 0 2 2 0 515 515 2602 0 0 0 3 2 0 516 516 2602 0 0 0 4 2 0 517 517 2602 0 0 0 5 2 0 518 518 2602 0 0 0 6 2 0 768 768 2602 0 0 0 0 3 0 769 769 2602 0 0 0 1 3 0 770 770 2602 0 0 0 2 3 0 771 771 2602 0 0 0 3 3 0 772 772 2602 0 0 0 4 3 0 773 773 2602 0 0 0 5 3 0 774 774 2602 0 0 0 6 3 0 1024 1024 2602 0 0 0 0 4 0 1025 1025 2602 0 0 0 1 4 0 1026 1026 2602 0 0 0 2 4 0 1027 1027 2602 0 0 0 3 4 0 1028 1028 2602 0 0 0 4 4 0 1029 1029 2602 0 0 0 5 4 0 1030 1030 2602 0 0 0 6 4 0 1280 1280 2602 0 0 0 0 5 0 1281 1281 2602 0 0 0 1 5 0 1282 1282 2602 0 0 0 2 5 0 1283 1283 2602 0 0 0 3 5 0 1284 1284 2602 0 0 0 4 5 0 1285 1285 2602 0 0 0 5 5 0 1286 1286 2602 0 0 0 6 5 0 1536 1536 2602 0 0 0 0 6 0 1537 1537 2602 0 0 0 1 6 0 1538 1538 2602 0 0 0 2 6 0 1539 1539 2602 0 0 0 3 6 0 1540 1540 2602 0 0 0 4 6 0 1541 1541 2602 0 0 0 5 6 0 1542 1542 2602 0 0 0 6 6 0 1792 1792 2602 0 0 0 0 7 0 1793 1793 2602 0 0 0 1 7 0 1794 1794 2602 0 0 0 2 7 0 1795 1795 2602 0 0 0 3 7 0 1796 1796 2602 0 0 0 4 7 0 1797 1797 2602 0 0 0 5 7 0 1798 1798 2602 0 0 0 6 7 0 66304 66304 3901 0 0 0 0 3 0 66305 66305 3901 0 0 0 1 3 0 66306 66306 3901 0 0 0 2 3 0 66307 66307 3901 0 0 0 3 3 0 66308 66308 3901 0 0 0 4 3 0 66560 66560 3901 0 0 0 0 4 0 66561 66561 3901 0 0 0 1 4 0 66562 66562 3901 0 0 0 2 4 0 66563 66563 3901 0 0 0 3 4 0 66564 66564 3901 0 0 0 4 4 0 66816 66816 3901 0 0 0 0 5 0 66817 66817 3901 0 0 0 1 5 0 66818 66818 3901 0 0 0 2 5 0 66819 66819 3901 0 0 0 3 5 0 66820 66820 3901 0 0 0 4 5 0 67072 67072 3901 0 0 0 0 6 0 67073 67073 3901 0 0 0 1 6 0 67074 67074 3901 0 0 0 2 6 0 67075 67075 3901 0 0 0 3 6 0 67076 67076 3901 0 0 0 4 6 0 67328 67328 3901 0 0 0 0 7 0 67329 67329 3901 0 0 0 1 7 0 67330 67330 3901 0 0 0 2 7 0 67331 67331 3901 0 0 0 3 7 0 67332 67332 3901 0 0 0 4 7 0 131072 131072 2303 0 0 0 0 0 0 131074 131074 2002 0 0 0 2 0 1 131078 131078 1303 0 0 0 6 0 0 131844 131844 101 0 0 0 4 3 0 132612 132612 103 0 0 0 4 6 0 1572864 1572864 4504 0 1 0 0 0 0 1572865 1572865 4504 0 1 0 1 0 0 1572866 1572866 4504 0 1 0 2 0 0 1572867 1572867 4504 0 1 0 3 0 0 1572868 1572868 4504 0 1 0 4 0 0 1572869 1572869 4504 0 1 0 5 0 0 1572870 1572870 4504 0 1 0 6 0 0 1638403 1638403 5201 0 1 0 3 0 0 2621440 2621440 4502 0 2 0 0 0 0 2621441 2621441 4502 0 2 0 1 0 0 2621442 2621442 4502 0 2 0 2 0 0 2621443 2621443 4502 0 2 0 3 0 0 2621444 2621444 4502 0 2 0 4 0 0 2621445 2621445 4502 0 2 0 5 0 0 2621446 2621446 4502 0 2 0 6 0 0 2621447 2621447 4502 0 2 0 7 0 0 2686981 2686981 5401 0 2 0 5 0 0 0 0 0 0 10 0 0 0 1 0.24596252509054459 2 0.10000000000000001 3 0.10000000000000001 4 0.39654157088074504 5 0.10000000000000001 6 0.20617194108749992 7 0.10000000000000001 8 0.10000000000000001 9 0.55132396294121055 10 0.10000000000000001 6 0 1 0.59682490844131686 2 0.95176728887100115 3 0.44875584032794269 4 0.6257020482913136 5 0.60677048992680871 6 0.75195115718615768 0 0 0 15 not-a-date-time 0 0 0 11 0 0 0 102 1 1701 1 1702 1 2601 1 2603 28 2701 56 2702 30 3701 9 4402 14 4404 15 4503 6 0 2 3 0 0 0 0 1 5 3 0 0 131074 2002 1 1 0\n0 2 0 3 131078 1303 1\n1 3 0 3 131072 2303 1\n2\n3 -1 16 2 16 2 -1 -1 0 2 4 0 0 0 0 1 0 0 7 0011111 0 0 0 0 0 0 1 0\n4 3 0 0 5 00101 0 0 0 0 0 0\n5 4 0 0 4 0032 0 0 0 0 0 0\n6 5 0 0 10 0095175224 0 0 0 0 0 0\n7\n8 -1 0 0 10 0 0 0 259 0 0 1 3 513 2 1 770 3 2 1026 4 2 1281 5 1 33025 129 255 33283 130 255 33538 131 255 33794 132 255 34049 133 255 1 3 1 2 2 1 25 0 0 0 15 not-a-date-time 0 0'); Best regards, Viacheslav and SBA From boris at codesynthesis.com Thu Sep 15 10:13:21 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 15 10:15:55 2011 Subject: [odb-users] Re: Executing a Query with cache = false is a reason segmentation fault In-Reply-To: References: Message-ID: Hi Viacheslav, > I'm suddenly faced with a segmentation fault. Fixed with the patch for libodb-mysql attached. Thanks for reporting this and for the good test case, much appreciated. BTW, have you had any more results for that primary key in UPDATE performance issue you've reported earlier? Does sending (unchanged) primary key really affects MySQL performance? Boris -------------- next part -------------- A non-text attachment was scrubbed... Name: libodb-mysql-uncached-fetch.patch Type: text/x-diff Size: 985 bytes Desc: not available Url : http://codesynthesis.com/pipermail/odb-users/attachments/20110915/b3b5be17/libodb-mysql-uncached-fetch.bin From art at it-gen.net Thu Sep 15 11:16:10 2011 From: art at it-gen.net (=?KOI8-R?B?99HexdPMwdcg89DJ0snEz87P1w==?=) Date: Thu Sep 15 11:16:39 2011 Subject: [odb-users] Re: Executing a Query with cache = false is a reason segmentation fault In-Reply-To: References: Message-ID: Dear, Boris and odb-users At the expense of UPDATE performance issue, at the moment I do not make properly all tests. When I have results, I will let you know. Best regards, Viacheslav and sba 15 ???????? 2011??. 17:13 ???????????? Boris Kolpackov ???????: > Hi Viacheslav, > >> I'm suddenly faced with a segmentation fault. > > Fixed with the patch for libodb-mysql attached. Thanks for reporting > this and for the good test case, much appreciated. > > BTW, have you had any more results for that primary key in UPDATE > performance issue you've reported earlier? Does sending (unchanged) > primary key really affects MySQL performance? > > Boris > From boris at codesynthesis.com Thu Sep 22 08:02:35 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 22 08:05:04 2011 Subject: [odb-users] ODB 1.6.0.a2 available Message-ID: Hi, The second alpha version for the upcoming ODB 1.6.0 is now available. The major new feature in this release compared to the earlier 1.6.0.a1 is support for views. View is a light-weight, read-only projection of one or more persistent objects, ad-hoc database tables, or some combination of the two. For example: #pragma db view object(employee) object(employer) struct employee_info { std::string first_name; std::string last_name; #pragma db column(employer::name) std::string employer_name; }; typedef odb::query query; typedef odb::result result; result r = db.query ( query::employee::last_name == "Doe" && query::employer::name == "Simple Tech, Inc"); We are still working on the documentation and examples for this feature, but seeing that a lot of people asked for it, we have decided to make a pre-release as soon as possible. In the meantime the test.hxx file in the common/view test in the odb-tests package gives a good overview of what's possible. Other NEWS file entries so far are: * New function, database::erase_query(), allows the deletion of the database state of multiple objects matching certain criteria. It uses the same query expression as the database::query() function. For more information, refer to Section 3.10, "Deleting Persistent Objects" in the ODB manual. * Support for value wrappers. An ODB value wrapper is a class template that wraps a value type or a container. Common examples of wrappers are smart pointers, holders, and "optional value" containers such as boost::optional. A wrapper can be transparent or it can handle the NULL semantics. To allow the easy conversion of value types that do not support the NULL semantics into the ones that do, the odb::nullable class template has been added. ODB also now includes built-in support for std::auto_ptr and std::tr1::shared_ptr smart pointers as value wrappers as well as for boost::shared_ptr and QSharedPointer via the Boost and Qt profiles. Currently, the NULL semantics is only supported for simple values but smart pointers can still be used with composite values and containers. For more information, refer to Section 7.3, "NULL Value Semantics" in the ODB manual. * Support for the boost::optional container in the Boost profile. A data member of the boost::optional type is mapped to a column that can have a NULL value. For more information, refer to Section 15.3 "Optional Library" in the ODB manual. * Support for mapping std::vector to the BLOB (or equivalent) types. For more information, refer to chapters 11 (for MySQL), 12 (for SQLite) and 13 (for PostgreSQL) in the ODB manual. * New option, --table-prefix, allows the specification of a prefix that is added to table and index names. For more information, refer to the ODB compiler command line interface documentation (man pages). * New ODB runtime interface, odb::connection, represents a connection to the database. The primary use case for a connection is to execute native statements outside of a transaction. For more information, refer to Section 3.5, "Connections" in the ODB manual. * Support for multiplexing several transaction on the same thread. For more information, refer to Section 3.4, "Transactions" in the ODB manual. * All the concrete connection classes now have a second constructor which allows the creation of a connection instance from an already established underlying connection handle. The connection_pool_factory and, in case of SQLite, single_connection_factory now have a virtual create() function that can be overridden to implement custom connection establishment and configuration. * The query expression syntax for object pointers and composite values has changed. Now, instead of using the scope resolution operator ('::') the member access via pointer operator (->) is used for object pointers and the member access operator (.) is used for composite values. Examples of old and new syntax for pointers, old: query::employer::name and new: query::employer->name. For composites values, old: query::name::first and new: query::name.first. * SQLite ODB runtime now enables foreign key constraints checking by default. While this should not affect correct applications, due to bugs in SQLite DDL foreign keys support, you may need to temporarily disable foreign key constraints checking when re-creating the database schema (the sign that you may need to do so is the "foreign key constraint failed" exception thrown by the commit() function after the call to schema_catalog::create_schema()). For more information, refer to Section 12.5.3, "Foreign Key Constraints" in the ODB manual. * Support for specifying the client character set for the MySQL database. For more information, refer to Section 11.2, "MySQL Database Class" in the ODB manual. * Object cache maintained by a session nor longer distinguishes between const and non-const objects. Instead, const objects are treated as non-const by casting away constness. For more information on this new behavior, refer to Section 9.1, "Object Cache" in the ODB manual. This pre-release (as well as all the future pre-releases) is available from: http://www.codesynthesis.com/download/odb/pre-release/ The ODB compiler binaries are only available for Windows and GNU/Linux (x86 and x86_64). Testing and feedback are appreciated. Enjoys, Boris From boris at codesynthesis.com Thu Sep 22 08:07:41 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 22 08:10:12 2011 Subject: [odb-users] Executing native selects for no mapped type In-Reply-To: <1313580857.3316.3.camel@merkur> References: <1313507476.14503.7.camel@merkur> <1313580857.3316.3.camel@merkur> Message-ID: Hi Roland, Roland Kloeters writes: > I would prefer to use > > #pragma db view query("SELECT nextval('sequence')") > struct sequence_value > { > unsigned long long value; > }; > > result r (db->query ()); > > Unfortunately my ODB Compiler is not willing to know the pragma "view". The 1.6.0.a2 pre-release that I just announced[1] adds support for views and the above code should compile and work as is. [1] http://www.codesynthesis.com/pipermail/odb-users/2011-September/000304.html Boris From boris at codesynthesis.com Thu Sep 22 08:18:50 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 22 08:21:21 2011 Subject: [odb-users] Re: Counting objects In-Reply-To: References: <08372F3F863B0044B6888E7E5111866702876D9C88@HVXMSP6.us.lmco.com> <08372F3F863B0044B6888E7E51118667028777C0AB@HVXMSP6.us.lmco.com> Message-ID: Hi Eric, Boris Kolpackov writes: > Sum, Eric B writes: > > > Also, I am encountering another issue that I was wondering about. I am > > trying to figure out a fast way to determine how many objects are in a > > table. I know that in SQL, there is a count function such as "SELECT > > COUNT(column) FROM table". However, when I execute this command with > > the db->execute command, I do not see a way to determine the result of > > the count SQL function. The only other way I can think of is to query > > the table for all objects and then iterate through the result, counting > > them one by one, but this I think may be too slow. > > Yes, this will be very inefficient. > > > Do you know a fast way to get the number of objects in a table? > > I think the 'view' feature that is still in development will allow you > to achieve this pretty easily. Just wanted to let you know that the 1.6.0.a2 pre-release that I just announced[1] adds support for views. Here is an example of how the above can be achieved using this feature. Given the following persistent class: #pragma db object class person { ... std::string first_; std::string last_; #pragma db id unsigned long id_; }; We can create a view that returns the number of person objects stored in the database: #pragma db view object(person) class person_count { #pragma db column("count(" + person::id_ + ")") std::size_t count; }; And then use it like this: typedef odb::query query; typedef odb::result result; // Total number of objects. // result r1 = db.query (); const person_count& c1 (*r1.begin ()); cerr << c1.count << endl; // Number of objects with the "Doe" last name. // result r2 = db.query (query::last == "Doe"); const person_count& c2 (*r2.begin ()); cerr << c2.count << endl; [1] http://www.codesynthesis.com/pipermail/odb-users/2011-September/000304.html Boris From boris at codesynthesis.com Thu Sep 22 08:30:23 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 22 08:32:54 2011 Subject: [odb-users] ODB and aggregate functions In-Reply-To: References: Message-ID: Hi Nicolas, > 2011/8/19 Boris Kolpackov > > > Nicolas ALBEZA writes: > > > > I'm looking for a way to use aggregate (group-by) functions with ODB, to > > use in simple queries, such as "SELECT AVG(field) from table where ...". > > It seems that ODB doesnt allow such things, so i guess i'll have to use > > the low-level and db specific functions to reach my goal. Is there any > > examples or documentation about that ? (I'm using a mysql DB). > > > I think the 'view' feature that is still in development will allow you > to achieve this pretty easily. Wanted to let you know that the 1.6.0.a2 pre-release that I just announced[1] adds support for views and the above could be achieved quite easily using this feature. If we have an object, for example: #pragma db object class person { ... #pragma db id unsigned long id_; std::string first_; std::string last_; unsigned short age_; }; And we would like to find the average age, then we can create a view like this: #pragma db view object(person) class average_age { #pragma db column("AVG(" + person::age_ + ")") std::size_t value; }; And then use it like this: typedef odb::query query; typedef odb::result result; // Average for all objects. // result r1 = db.query (); const average_age& a1 (*r1.begin ()); cerr << a1.value << endl; // Average for objects with the "Doe" last name. // result r2 = db.query (query::last == "Doe"); const average_age& a2 (*r2.begin ()); cerr << a2.value << endl; You can also do this for an ad-hoc database table that doesn't have a corresponding object. In this case, the view will look like this: #pragma db view query("SELECT AVG(age) FROM person") class average_age { std::size_t value; }; And the usage like this: result r1 = db.query (); result r2 = db.query ("last = " + query::_val ("Doe")); [1] http://www.codesynthesis.com/pipermail/odb-users/2011-September/000304.html Boris From n.albeza at gmail.com Thu Sep 22 08:39:02 2011 From: n.albeza at gmail.com (Nicolas ALBEZA) Date: Thu Sep 22 08:39:10 2011 Subject: [odb-users] ODB and aggregate functions In-Reply-To: References: Message-ID: Thanks a lot ! You saved my day =) Regards, 2011/9/22 Boris Kolpackov > Hi Nicolas, > > > 2011/8/19 Boris Kolpackov > > > > > Nicolas ALBEZA writes: > > > > > > I'm looking for a way to use aggregate (group-by) functions with ODB, > to > > > use in simple queries, such as "SELECT AVG(field) from table where > ...". > > > It seems that ODB doesnt allow such things, so i guess i'll have to use > > > the low-level and db specific functions to reach my goal. Is there any > > > examples or documentation about that ? (I'm using a mysql DB). > > > > > I think the 'view' feature that is still in development will allow you > > to achieve this pretty easily. > > Wanted to let you know that the 1.6.0.a2 pre-release that I just > announced[1] > adds support for views and the above could be achieved quite easily using > this feature. > > If we have an object, for example: > > #pragma db object > class person > { > ... > > #pragma db id > unsigned long id_; > > std::string first_; > std::string last_; > > unsigned short age_; > }; > > And we would like to find the average age, then we can create a view like > this: > > #pragma db view object(person) > class average_age > { > #pragma db column("AVG(" + person::age_ + ")") > std::size_t value; > }; > > And then use it like this: > > typedef odb::query query; > typedef odb::result result; > > // Average for all objects. > // > result r1 = db.query (); > > const average_age& a1 (*r1.begin ()); > cerr << a1.value << endl; > > // Average for objects with the "Doe" last name. > // > result r2 = db.query (query::last == "Doe"); > > const average_age& a2 (*r2.begin ()); > cerr << a2.value << endl; > > You can also do this for an ad-hoc database table that doesn't have > a corresponding object. In this case, the view will look like this: > > #pragma db view query("SELECT AVG(age) FROM person") > class average_age > { > std::size_t value; > }; > > And the usage like this: > > result r1 = db.query (); > result r2 = db.query ("last = " + query::_val ("Doe")); > > > [1] > http://www.codesynthesis.com/pipermail/odb-users/2011-September/000304.html > > Boris > -- ALBEZA "Pause" Nicolas From alexandre.pretyman at gmail.com Fri Sep 23 02:15:05 2011 From: alexandre.pretyman at gmail.com (Alexandre Pretyman) Date: Fri Sep 23 02:15:14 2011 Subject: [odb-users] Adding support for a new sql type Message-ID: ???????????? Boris, I'm a student from Brazil evaluating ODB for a university project and I'm wondering how would I go about adding support for the GEOMETRY sql type of the PostGis extension for PostgreSQL and mapping it to a GEOS Geometry type. What I need to do is call a function in the DB query on the GEOMETRY type column "asText(column)" and with the resulting string I would use functions in GEOS to convert it from the text to a GEOS Geometry object. I still know little about the subject, but would this be possible in ODB? If so, are there any source files I could poke around to get some guidelines? The furthest I got was examining the QDateTime as an example in: libodb-qt-1.5.0/odb/qt/date-time/pgsql/default-mapping.hxx libodb-qt-1.5.0/odb/qt/date-time/pgsql/qdate-time-traits.hxx and seeing that it's mapped to a TIMESTAMP by default on default-mapping.hxx line 26: #pragma db value(QDateTime) type("TIMESTAMP") null and how you manipulate the QDateTime value in qdate-time-traits.hxx by setting the value on line 40: set_value (QDateTime& v, long long i, bool is_null) and setting the image on line 53: set_image (long long& i, bool& is_null, const QDateTime& v) However I could not pin point where the TIMESTAMP sql type get's registered as an sql_type nor where it gets converted to a "long long", which I thought I could use as an example to register the GEOMETRY as an sql_type and convert it to std::string and use set_value and set_image functions to transform it into a GEOS Geometry. Any help is appreciated, -- Alexandre Pretyman From rccraigb at gmail.com Mon Sep 26 13:08:41 2011 From: rccraigb at gmail.com (Craig Burton) Date: Mon Sep 26 13:08:49 2011 Subject: [odb-users] Thank you + documentation bug report Message-ID: Codesynthesis: Thank you for a truly wonderful ORM -- I'm just getting started, but like very much what I've seen so far! As for the bug report, it is a documentation error in the 'examples' collection. Specifically, the "INSTALL" file in odb-examples-1.5.0 indicates that configure should be run like this: ./configure --database However, I believe it should be specified to run like this: ./configure --with-database= At least that was what worked for me. Please let me know if I've missed something, or if this is a valid report. Thanks again, Craig From boris at codesynthesis.com Tue Sep 27 05:47:06 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Sep 27 05:49:33 2011 Subject: [odb-users] Thank you + documentation bug report In-Reply-To: References: Message-ID: Hi Craig, Craig Burton writes: > Thank you for a truly wonderful ORM -- I'm just getting started, but like > very much what I've seen so far! Thanks, I am glad you are enjoying it! > As for the bug report, it is a documentation error in the 'examples' > collection. Specifically, the "INSTALL" file in odb-examples-1.5.0 > indicates that configure should be run like this: > > ./configure --database > > However, I believe it should be specified to run like this: > > ./configure --with-database= > > At least that was what worked for me. Please let me know if I've missed > something, or if this is a valid report. Yes, a valid report, thank you. I have fixed this and the changes are in scm: http://scm.codesynthesis.com/?p=odb/odb-examples.git;a=commit;h=c428f1b17bbeee47cb16ecca6992f4bf19e382dd Boris From boris at codesynthesis.com Tue Sep 27 06:21:56 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Sep 27 06:24:24 2011 Subject: [odb-users] Adding support for a new sql type In-Reply-To: References: Message-ID: Hi Alexandre, Alexandre Pretyman writes: > What I need to do is call a function in the DB query on the GEOMETRY type > column "asText(column)" and with the resulting string I would use functions > in GEOS to convert it from the text to a GEOS Geometry object. > > I still know little about the subject, but would this be possible in ODB? Hm, interesting question. Generally, adding support for a new SQL type without modifying the ODB compiler will be tricky. A column's SQL type determines many aspects of how the data is transferred from the database to the object and from the object to the database, especially if we use the binary protocol, which is the case with PostgreSQL. Now, if the new type is "interfaced with" using one of the existing SQL types (which, as I understand, is the case with GEOMETRY), then this could be easier. Then we could probably "map" the new type to the existing type. We would probably also need to specify to/from conversion expressions (ST_GeomFromText/ST_asText in case of GEOMETRY?) that will need to be applied in the INSERT, UPDATE, and SELECT statements generated by the ODB compiler. I think this might work. Can you show some examples of typical INSERT/UPDATE/SELECT statements involving the GEOMETRY type? Once this is supported, mapping the text representation of GEOMETRY data to a suitable C++ type will be straightforward. Boris From kontakt at msnoch.pl Tue Sep 27 17:10:08 2011 From: kontakt at msnoch.pl (kontakt@msnoch.pl) Date: Tue Sep 27 17:10:17 2011 Subject: [odb-users] Segfault after adding relations Message-ID: <7e955ca72090c2adc5c0b709a69a81b4@msnoch.pl> Hi friends, I'm wondering why i have segmentation fault in code like this: transaction t(db->begin()); result start(db->query(query::name == p_from || query::street == p_from)); for(result::iterator i(start.begin()); i!= start.end(); ++i) { cout << "Found " << i->getStreet().toStdString() << endl; } t.commit(); everything was fine until I started using relations. Stop have shared_ptr to other class, and other class have weak_ptr to Stop. In fact, now also everything works (8 rows are found) if I don't use i->getStreet(), but it is unacceptable of course ;) I hope that you can help me Best regards Michal Snoch From boris at codesynthesis.com Wed Sep 28 07:45:15 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Wed Sep 28 07:46:48 2011 Subject: [odb-users] Segfault after adding relations In-Reply-To: <7e955ca72090c2adc5c0b709a69a81b4@msnoch.pl> References: <7e955ca72090c2adc5c0b709a69a81b4@msnoch.pl> Message-ID: Hi Michal, kontakt@msnoch.pl writes: > I'm wondering why i have segmentation fault in code like this: > > transaction t(db->begin()); > result start(db->query(query::name == p_from || query::street == > p_from)); > > for(result::iterator i(start.begin()); i!= start.end(); ++i) > { > cout << "Found " << i->getStreet().toStdString() << endl; > } > > t.commit(); > > everything was fine until I started using relations. Stop have shared_ptr > to other class, and other class have weak_ptr to Stop. It's hard to say without looking at the code and I don't see anything suspicious in what you have shown. Would you be able to create a small but complete test case that reproduces this problem? Boris From kontakt at msnoch.pl Wed Sep 28 12:46:21 2011 From: kontakt at msnoch.pl (kontakt@msnoch.pl) Date: Wed Sep 28 12:46:30 2011 Subject: [odb-users] Segfault after adding relations In-Reply-To: References: <7e955ca72090c2adc5c0b709a69a81b4@msnoch.pl> Message-ID: <6d37bea486160f75a6dba7f4d11f8770@msnoch.pl> Hi Code is like this: line.h: #ifndef LINE_H #define LINE_H #include #include #include #include #include "stop.h" class Stop; #pragma db object class Line { public: Line(); friend class odb::access; QString name() const; void setName(const QString& p_name); int variation() const; void setVariation(int p_variation); QString description() const; void setDescription(const QString& p_description); unsigned int id() const; void setId(unsigned int p_id); void addStop(boost::shared_ptr stop); QVector > stops(); private: #pragma db id auto unsigned int m_id; #pragma db not_null QString m_name; #pragma db not_null QString m_description; #pragma db not_null int m_variation; QVector > m_stops; }; #endif // LINE_H stop.h: #ifndef STOP_H #define STOP_H #include #include #include #include #include "arrival.h" #include "line.h" class Line; class Arrival; #pragma db object class Stop { public: friend class odb::access; Stop(); void setId(unsigned int id); unsigned int getId() const; void setName(QString name); QString getName() const; void setStreet(QString street); QString getStreet() const; void addLine(boost::shared_ptr p_linePtr); void addArrival(boost::shared_ptr p_arrivalPtr); bool operator ==(const Stop& rhs) const; QVector > lines(); QVector > arrivals(); QString test() { return "Works fine"; } private: #pragma db id auto unsigned int m_id; #pragma db not_null QString m_name; #pragma db not_null QString m_street; #pragma db not_null unsigned int m_ZdikId; #pragma db inverse(m_stops) QVector > m_lines; #pragma db inverse(m_stop) QVector > m_arrivals; }; #endif // STOP_H selection: using namespace odb::core; typedef odb::query query; typedef odb::result result; try { shared_ptr db(new odb::pgsql::database("postgres", "postgres", "cnav", "localhost", 5432)); transaction t(db->begin()); result start(db->query(query::name == p_from || query::street == p_from)); for(result::iterator i(start.begin()); i!= start.end(); ++i) { cout << "Found " << i->test().toStdString() << endl; } t.commit(); cout << "Route Done (" << start.size() << ")" << endl; } catch(const odb::exception& e) { cerr << "Cannot execute query cause of " << e.what() << endl; return; } On Wed, 28 Sep 2011 13:45:15 +0200, Boris Kolpackov wrote: > Hi Michal, > > kontakt@msnoch.pl writes: > >> I'm wondering why i have segmentation fault in code like this: >> >> transaction t(db->begin()); >> result start(db->query(query::name == p_from || query::street >> == >> p_from)); >> >> for(result::iterator i(start.begin()); i!= start.end(); ++i) >> { >> cout << "Found " << i->getStreet().toStdString() << endl; >> } >> >> t.commit(); >> >> everything was fine until I started using relations. Stop have >> shared_ptr >> to other class, and other class have weak_ptr to Stop. > > It's hard to say without looking at the code and I don't see anything > suspicious in what you have shown. Would you be able to create a > small > but complete test case that reproduces this problem? > > Boris From boris at codesynthesis.com Thu Sep 29 04:54:17 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Sep 29 04:55:51 2011 Subject: [odb-users] Segfault after adding relations In-Reply-To: <6d37bea486160f75a6dba7f4d11f8770@msnoch.pl> References: <7e955ca72090c2adc5c0b709a69a81b4@msnoch.pl> <6d37bea486160f75a6dba7f4d11f8770@msnoch.pl> Message-ID: Hi Michal, kontakt@msnoch.pl writes: > transaction t(db->begin()); > > result start(db->query(query::name == p_from || > query::street == p_from)); > > for(result::iterator i(start.begin()); i!= start.end(); ++i) > { > > cout << "Found " << i->test().toStdString() << endl; > > } > > t.commit(); > cout << "Route Done (" << start.size() << ")" << endl; The only problem that I see is the use of the result object after the transaction has been committed (last line). Quoting the manual, Section 4.4, second paragraph: "The result instance is only usable within the transaction it was created in. Trying to manipulate the result after the transaction has terminated leads to undefined behavior." If after fixing this you still get the segfault, I will also need either the code fragment that persists the Stop/Line objects in the database or your database dump (if it is big, please send it off- list). Boris From kontakt at msnoch.pl Thu Sep 29 15:49:00 2011 From: kontakt at msnoch.pl (kontakt@msnoch.pl) Date: Thu Sep 29 15:49:10 2011 Subject: [odb-users] Segfault after adding relations Message-ID: <25619586019b88bc266c38f66a3882c6@msnoch.pl> Hi Well, i figured out that i had cycles in my relations - that caused an error. Now eveyrthing works fine but i'm wondering how can I speedup my app. Db which I use is having table whith ~500.000 records of bus arrivals which are storing as boost::shared_ptr, relation to Line and Stop; Stop - Arrival is bidirectional so, stop is storing QVector of weak_ptr to arrivals. The problem is, when I try to find stop via street name. If Stop doesn't have pointer vector it works really fast, but when it is - it takes minutes. Do you know what can be wrong? Micha? PS. I'm using PostgreSQL [code] session s; transaction t(db->begin()); result start(db->query("name ilike 'Opera'")); for(result::iterator i(start.begin()); i!= start.end(); ++i) { cout << "Found " << i->name().toStdString() << i->street().toStdString() << endl; } t.commit(); cout << "Route Done (" << start.size() << ")" << endl; [/code] On Thu, 29 Sep 2011 10:54:17 +0200, Boris Kolpackov wrote: > Hi Michal, > > kontakt@msnoch.pl writes: > >> transaction t(db->begin()); >> >> result start(db->query(query::name == p_from || >> query::street == p_from)); >> >> for(result::iterator i(start.begin()); i!= start.end(); ++i) >> { >> >> cout << "Found " << i->test().toStdString() << endl; >> >> } >> >> t.commit(); >> cout << "Route Done (" << start.size() << ")" << endl; > > The only problem that I see is the use of the result object after > the transaction has been committed (last line). Quoting the manual, > Section 4.4, second paragraph: > > "The result instance is only usable within the transaction it was > created in. Trying to manipulate the result after the transaction > has terminated leads to undefined behavior." > > If after fixing this you still get the segfault, I will also need > either the code fragment that persists the Stop/Line objects in the > database or your database dump (if it is big, please send it off- > list). > > Boris From kontakt at msnoch.pl Thu Sep 29 16:44:50 2011 From: kontakt at msnoch.pl (kontakt@msnoch.pl) Date: Fri Sep 30 03:59:45 2011 Subject: [odb-users] Segfault after adding relations In-Reply-To: <25619586019b88bc266c38f66a3882c6@msnoch.pl> References: <25619586019b88bc266c38f66a3882c6@msnoch.pl> Message-ID: I saw one another weird thing: for(int i=0; iname().toStdString() << " -> " << i->street().toStdString() << endl; } First loop runs instantly, but second, which uses iterator - waits few seconds. Even if only one record is selected. On Thu, 29 Sep 2011 21:49:00 +0200, kontakt@msnoch.pl wrote: > Hi > > Well, i figured out that i had cycles in my relations - that caused > an error. Now eveyrthing works fine but i'm wondering how can I > speedup my app. Db which I use is having table whith ~500.000 records > of bus arrivals which are storing as boost::shared_ptr, relation > to Line and Stop; Stop - Arrival is bidirectional so, stop is > storing QVector of weak_ptr to arrivals. The problem is, when I > try to find stop via street name. If Stop doesn't have pointer > vector it works really fast, but when it is - it takes minutes. > Do you know what can be wrong? > > Micha? > > PS. I'm using PostgreSQL > > > [code] > session s; > transaction t(db->begin()); > > result start(db->query("name ilike 'Opera'")); > > for(result::iterator i(start.begin()); i!= start.end(); ++i) > { > > cout << "Found " << i->name().toStdString() << > i->street().toStdString() << endl; > > } > > t.commit(); > cout << "Route Done (" << start.size() << ")" << endl; > [/code] > > On Thu, 29 Sep 2011 10:54:17 +0200, Boris Kolpackov wrote: >> Hi Michal, >> >> kontakt@msnoch.pl writes: >> >>> transaction t(db->begin()); >>> >>> result start(db->query(query::name == p_from || >>> query::street == p_from)); >>> >>> for(result::iterator i(start.begin()); i!= start.end(); >>> ++i) >>> { >>> >>> cout << "Found " << i->test().toStdString() << endl; >>> >>> } >>> >>> t.commit(); >>> cout << "Route Done (" << start.size() << ")" << endl; >> >> The only problem that I see is the use of the result object after >> the transaction has been committed (last line). Quoting the manual, >> Section 4.4, second paragraph: >> >> "The result instance is only usable within the transaction it was >> created in. Trying to manipulate the result after the transaction >> has terminated leads to undefined behavior." >> >> If after fixing this you still get the segfault, I will also need >> either the code fragment that persists the Stop/Line objects in the >> database or your database dump (if it is big, please send it off- >> list). >> >> Boris From boris at codesynthesis.com Fri Sep 30 06:37:56 2011 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Sep 30 06:39:19 2011 Subject: [odb-users] Segfault after adding relations In-Reply-To: <25619586019b88bc266c38f66a3882c6@msnoch.pl> References: <25619586019b88bc266c38f66a3882c6@msnoch.pl> Message-ID: Hi Michal, kontakt@msnoch.pl writes: > Db which I use is having table whith ~500.000 records of bus arrivals which > are storing as boost::shared_ptr, relation to Line and Stop; Stop - Arrival > is bidirectional so, stop is storing QVector of weak_ptr to arrivals. The > problem is, when I try to find stop via street name. If Stop doesn't have > pointer vector it works really fast, but when it is - it takes minutes. Do > you know what can be wrong? It depends what takes so long, the query() call or the iteration over the returned result. If it is the query(), then the problem is most likely in the database. That is, when object relationships are complex, the SELECT statement that is used in the query() call can JOIN quite a few tables. If it is the iteration, then it is most definitely the relationships that take so long to load. If each object returned by a query contains a vector of pointers to other objects, then loading them can take some time. Using a session (as you do) will help if there are many shared objects but the better solution to this problem will be to switch to lazy pointers, especially if there are "many"-sided relationships, as in your case. See Section 6.3, "Lazy Pointers" in the ODB manual for more information. > I saw one another weird thing: > > for(int i=0; i { > cout << "X,"; > } > cout << endl; > > for(result::iterator i(start.begin()); i!= start.end(); ++i) > { > > cout << "Found " << i->name().toStdString() << " -> " > << i->street().toStdString() << endl; > > } > > First loop runs instantly, but second, which uses iterator - waits few > seconds. Even if only one record is selected. This indicates that the problem is most likely the relationship loading. Try to switch to lazy pointers and see if it helps. Boris From art at it-gen.net Fri Sep 30 11:50:52 2011 From: art at it-gen.net (=?KOI8-R?B?99HexdPMwdcg89DJ0snEz87P1w==?=) Date: Fri Sep 30 11:51:21 2011 Subject: [odb-users] Re: Explain please the essence of the strange update_statement Message-ID: Dear, Boris and odb-users Sorry for the long delay in responding. Tests have not confirmed any delay when using surplus appropriation. The database implementation is STILL REALLY smart enough to detect this and not do anything expensive. Best regards, Viacheslav and sba From thomas.szumowski at lmco.com Fri Sep 30 16:27:58 2011 From: thomas.szumowski at lmco.com (Szumowski, Thomas) Date: Fri Sep 30 16:28:14 2011 Subject: [odb-users] Recommended way of creating a verbose/debug/log mode with ODB and sqlite? Message-ID: <50FEB91CC4FBAB4881226E0EC04AC340975C2C5E@HVXMSP9.us.lmco.com> For debugging purposes, I'd like to be able to acquire a log of all the native SQL statements that ODB executes during a program run. In native sqlite, I believe this is possible through the sqlite_trace API. Is there something similar in ODB?