dbms: development.

This commit is contained in:
Alexey Milovidov 2010-05-24 18:58:14 +00:00
parent abf4c94551
commit f0afeaf7e9
6 changed files with 10 additions and 14 deletions

View File

@ -22,9 +22,9 @@ public:
void deserializeText(Field & field, std::istream & istr) const
{
FieldType x;
typename NearestFieldType<FieldType>::Type x;
istr >> x;
field = typename NearestFieldType<FieldType>::Type(x);
field = x;
}
void serializeTextEscaped(const Field & field, std::ostream & ostr) const

View File

@ -2,7 +2,6 @@
#include <DB/Common/CompressedOutputStream.h>
#include <iostream>
namespace DB
{
@ -41,11 +40,6 @@ int CompressingStreamBuf::writeToDevice(const char * buffer, std::streamsize len
length,
&scratch[0]);
std::cerr << "length: " << length << ", compressed_size: " << compressed_size << std::endl;
std::cerr.write(&buffer[0], 100);
std::cerr << std::endl;
std::cerr.write(&compressed_buffer[0], 100);
p_ostr->write(&compressed_buffer[0], compressed_size);
return static_cast<int>(length);
}

View File

@ -3,7 +3,6 @@
#include <DB/DataStreams/TabSeparatedRowInputStream.h>
#include <iostream>
namespace DB
{

View File

@ -49,12 +49,12 @@ void DataTypeString::serializeBinary(const IColumn & column, std::ostream & ostr
if (!size)
return;
writeVarUInt(offsets[0] - 1, ostr);
ostr.write(reinterpret_cast<const char *>(&data[0]), offsets[0] - 1);
writeVarUInt(offsets[0], ostr);
ostr.write(reinterpret_cast<const char *>(&data[0]), offsets[0]);
for (size_t i = 1; i < size; ++i)
{
UInt64 str_size = offsets[i] - offsets[i - 1] - 1;
UInt64 str_size = offsets[i] - offsets[i - 1];
writeVarUInt(str_size, ostr);
ostr.write(reinterpret_cast<const char *>(&data[offsets[i - 1]]), str_size);
}

View File

@ -39,7 +39,8 @@ Block LogBlockInputStream::read()
column.column = column.type->createColumn();
column.type->deserializeBinary(*column.column, streams[column.name]->compressed, block_size);
res.insert(column);
if (column.column->size())
res.insert(column);
}
return res;

View File

@ -82,7 +82,7 @@ int main(int argc, char ** argv)
;
SharedPtr<DB::NamesAndTypes> names_and_types_map = new DB::NamesAndTypes;
SharedPtr<DB::DataTypes> data_types;
SharedPtr<DB::DataTypes> data_types = new DB::DataTypes;
DB::ColumnNames column_names;
for (NamesAndTypesList::const_iterator it = names_and_types_list.begin(); it != names_and_types_list.end(); ++it)
@ -109,6 +109,7 @@ int main(int argc, char ** argv)
}
/// читаем данные из tsv файла и одновременно пишем в таблицу
if (argc == 2 && 0 == strcmp(argv[1], "write"))
{
DB::TabSeparatedRowInputStream in(std::cin, data_types);
SharedPtr<DB::IBlockOutputStream> out = table.write(0);
@ -116,6 +117,7 @@ int main(int argc, char ** argv)
}
/// читаем из неё
if (argc == 2 && 0 == strcmp(argv[1], "read"))
{
SharedPtr<DB::IBlockInputStream> in = table.read(column_names, 0);
DB::TabSeparatedRowOutputStream out(std::cout, data_types);