Thanks Doug! I'll try it out.
On Thu, Aug 28, 2008 at 4:49 PM, Doug Judd <[EMAIL PROTECTED]> wrote: > Hi Josh, > > I found the problem and fixed it. You can pick up the fix by pulling the > latest code from the master branch of the git repository (see source > repository <http://code.google.com/p/hypertable/wiki/SourceCode?tm=4>) As > it turns out, there was an existing regression test that should have caught > this, but I did not carefully inspect the output when I initially checked it > in. :( I've also added your test to the regression. Here's the new output > (with a couple of additional insert statements): > > [EMAIL PROTECTED] 0.9.0.10]$ ./bin/hypertable < > ~/issues/max_version/problem_ex.hql > > Welcome to the hypertable command interpreter. > For information about Hypertable, visit http://www.hypertable.org/ > > Type 'help' for a list of commands, or 'help shell' for a > list of shell meta commands. > > hypertable> CREATE TABLE bug ( F MAX_VERSIONS=1 ); > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V1'); > hypertable> SELECT * FROM bug; > R F:Q V1 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V2'); > hypertable> SELECT * FROM bug; > R F:Q V2 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V3'); > hypertable> SELECT * FROM bug; > R F:Q V3 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V4'); > hypertable> SELECT * FROM bug; > R F:Q V4 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V5'); > hypertable> SELECT * FROM bug; > R F:Q V5 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V6'); > hypertable> SELECT * FROM bug; > R F:Q V6 > hypertable> DROP TABLE bug; > hypertable> CREATE TABLE bug ( F MAX_VERSIONS=2 ); > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V1'); > hypertable> SELECT * FROM bug; > R F:Q V1 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V2'); > hypertable> SELECT * FROM bug; > R F:Q V2 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V3'); > hypertable> SELECT * FROM bug; > R F:Q V3 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V4'); > hypertable> SELECT * FROM bug; > R F:Q V4 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V5'); > hypertable> SELECT * FROM bug; > R F:Q V5 > hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; > hypertable> SELECT * FROM bug; > hypertable> INSERT INTO bug VALUES ('R','F:Q','V6'); > hypertable> INSERT INTO bug VALUES ('R','F:Q','V7'); > hypertable> SELECT * FROM bug; > R F:Q V7 > R F:Q V6 > hypertable> INSERT INTO bug VALUES ('R','F:Q','V8'); > hypertable> SELECT * FROM bug; > R F:Q V8 > R F:Q V7 > hypertable> DROP TABLE bug; > > - Doug > > On Wed, Aug 27, 2008 at 6:06 PM, Joshua Taylor <[EMAIL PROTECTED]>wrote: > >> I'm seeing some strange behavior when setting and deleting cells in >> Hypertable. When using MAX_VERSIONS, if I set and delete a cell a few times >> I don't seem to be able to set it again. I was assuming that MAX_VERSIONS=K >> would keep up to the latest K versions of cell in the table. In my case, >> I'm only interested in keeping the latest version of each cell >> (MAX_VERSIONS=1), but I want to be able to rewrite the cell as many times as >> I'd like. Am I misinterpreting the parameter? >> >> Here's an example on Hypertable 0.9.0.10a with Hadoop 0.17.2 on a cluster >> of 15 machines. The hypertable client process is running on a separate >> machine outside the cluster. >> >> hypertable> CREATE TABLE bug ( F MAX_VERSIONS=1 ); >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V1'); >> hypertable> SELECT * FROM bug; >> R F:Q V1 >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V2'); >> hypertable> SELECT * FROM bug; >> R F:Q V2 >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V3'); >> hypertable> SELECT * FROM bug; >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V4'); >> hypertable> SELECT * FROM bug; >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V5'); >> hypertable> SELECT * FROM bug; >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V6'); >> hypertable> SELECT * FROM bug; >> hypertable> DROP TABLE bug; >> hypertable> >> >> hypertable> CREATE TABLE bug ( F MAX_VERSIONS=2 ); >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V1'); >> hypertable> SELECT * FROM bug; >> R F:Q V1 >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V2'); >> hypertable> SELECT * FROM bug; >> R F:Q V2 >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V3'); >> hypertable> SELECT * FROM bug; >> R F:Q V3 >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V4'); >> hypertable> SELECT * FROM bug; >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V5'); >> hypertable> SELECT * FROM bug; >> hypertable> DELETE 'F:Q' FROM bug WHERE ROW = 'R'; >> hypertable> SELECT * FROM bug; >> hypertable> INSERT INTO bug VALUES ('R','F:Q','V6'); >> hypertable> SELECT * FROM bug; >> hypertable> DROP TABLE bug; >> hypertable> >> >> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Hypertable Development" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/hypertable-dev?hl=en -~----------~----~----~----~------~----~------~--~---
