From: Christian P. <cp...@se...> - 2004-12-20 11:43:52
|
Am Sonntag 19 Dezember 2004 16:49 schrieb stephan beal: > This does this trick, in fetch(): > > default: > { > if(field_val) > { > std::string buff( field_val, field_val + > field->length ); > val = new SQLString(buff.c_str()); > } > else > { > val = new SQLString(); > } > } Cool. However i would like to add an SQLUnknown class for unsupported SQL fields. TEXT in mysql driver should become a SQLString. > > > (also #include <string>) > > IMO this is suitable for time fields, as well, because they're all just > strings in the end. > > Now s11n has a psql-powered db layer. In theory it'll support any > compatible db layer, configurable via command-line args to s11nconvert. > > Convert file to db: > > stephan@owl:~/cvs/s11n.net/ps11n/src> s11nconvert -f in.s11n -s psql -o > one --psql-verbose > PSqlSerializer.cpp:42 : psql-verbose mode is on. > PSqlSerializer.cpp:52 : Proxy Serializer = [compact]. > PSqlSerializer.cpp:65 : Connecting to database [localhost]... > PSqlSerializer.hpp:133 : serialize(node,[one])... > PSqlSerializer.hpp:144 : driver=mysql, @0x8070be0 > > Pull object from db: > > stephan@owl:~/cvs/s11n.net/ps11n/src> s11nconvert -S psql -f one -s > expat --psql-verbose > PSqlSerializer.cpp:42 : psql-verbose mode is on. > PSqlSerializer.cpp:52 : Proxy Serializer = [compact]. > PSqlSerializer.cpp:65 : Connecting to database [localhost]... > PSqlSerializer.hpp:82 : deserialize(one) from > mysql://stephan:xxxx@localhost/ps11n > PSqlSerializer.hpp:88 : driver=mysql, @0x8070c10 > PSqlSerializer.hpp:110 : Buffered 191 bytes. > PSqlSerializer.hpp:72 : Deser from stream... > <!DOCTYPE s11n::io::expat_serializer> > <data_node class="list"> > <data_node class="lex_t"> > <v>42</v> > </data_node> > <data_node class="lex_t"> > <v>-42.420000</v> > </data_node> > <data_node class="lex_t"> > <v>fourty two</v> > </data_node> > <data_node class="lex_t"> > <v>x</v> > </data_node> > </data_node> |