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
-~----------~----~----~----~------~----~------~--~---

Reply via email to