File tree Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -166,6 +166,13 @@ ColumnString::ColumnString()
166
166
{
167
167
}
168
168
169
+ ColumnString::ColumnString (size_t element_count)
170
+ : Column(Type::CreateString())
171
+ {
172
+ items_.reserve (element_count);
173
+ blocks_.reserve (element_count / 2 );
174
+ }
175
+
169
176
ColumnString::ColumnString (const std::vector<std::string>& data)
170
177
: ColumnString()
171
178
{
@@ -291,7 +298,7 @@ size_t ColumnString::Size() const {
291
298
}
292
299
293
300
ColumnRef ColumnString::Slice (size_t begin, size_t len) const {
294
- auto result = std::make_shared<ColumnString>();
301
+ auto result = std::make_shared<ColumnString>(len );
295
302
296
303
if (begin < items_.size ()) {
297
304
len = std::min (len, items_.size () - begin);
Original file line number Diff line number Diff line change @@ -78,6 +78,7 @@ class ColumnString : public Column {
78
78
ColumnString ();
79
79
~ColumnString ();
80
80
81
+ explicit ColumnString (size_t element_count);
81
82
explicit ColumnString (const std::vector<std::string> & data);
82
83
explicit ColumnString (std::vector<std::string>&& data);
83
84
ColumnString& operator =(const ColumnString&) = delete ;
You can’t perform that action at this time.
0 commit comments