hyrise / hyrise-v1

HYRISE In-Memory Hybrid Storage Engine (archived, now developed in hyrise/hyrise repo)
https://github.com/hyrise/hyrise
MIT License
89 stars 44 forks source link

Enable resizing of a certain column of a VerticalTable #358

Closed Bensk1 closed 10 years ago

Bensk1 commented 10 years ago

This can be necessary when working with BitCompressedVectors

hyrise-bot commented 10 years ago

Test failed. Refer to this link for build results: http://devdojo.de:5555/job/hyrise-multiconf-pull/779/

Build Log last 20 lines

[...truncated 6 lines...]
+ git fetch -a
From https://github.com/hyrise/hyrise
 * [new ref]         refs/pull/358/head -> refs/pull/358/head
 * [new ref]         refs/pull/358/merge -> refs/pull/358/merge
 * [new ref]         refs/pull/358/head -> github/pr/358
Success build forhudson.tasks.Shell@273a000b
Fetching changes from the remote Git repository
Fetching upstream changes from /home/jenkins/hyrise_mirror
Checking out Revision 22288236086219b79e8b8c02255f2adcd51ed2d8 (detached)
Cleaning workspace
Resetting working tree
Triggering debug,g++48
Triggering release,clang++34
Triggering release,g++48
Triggering debug,clang++34
debug,g++48 completed with result FAILURE
release,clang++34 completed with result FAILURE
release,g++48 completed with result FAILURE
debug,clang++34 completed with result FAILURE
hyrise-bot commented 10 years ago

Test PASSED! Refer to this link for build results: http://devdojo.de:5555/job/hyrise-multiconf-pull/780/

bastih commented 10 years ago

I'm wondering if this is actually necessary.

Bensk1 commented 10 years ago

I am currently working on implementing index aware merging. Following the proposed algorithm I create a new dictionary and set this using "setDictionaryAt." Before I am able to fill the AttributeVectors with "setValueId", I have to resize the table. The normal version of the resize method resizes all columns at once which leads to the following problem: the next time (for the next column) I am using setDictionaryAt this method calls internally "rewriteColumn" which then leads to a "Bad rewrite" error in the BitCompressedVector. This can be circumvented by resizing columns one by one.

bastih commented 10 years ago

I'm wondering if it wouldn't be easier to manually construct a table from finished storage parts instead of manipulating a copied one.

Bensk1 commented 10 years ago

I did go down this path because I saw that the table was also copied in the existing merge implementation. I will try the other approach.