Thread: Rekall for Free

Rekall for Free

From
John Dean
Date:
Hi
This is my first post to this mailing list. I would like all list members
that I am the same person who used to work for MySQL AB. Even though I
worked for MySQL AB, PostgreSQL has always been my RDBMS of choice. The
reason for telling you all about about my involvement with MySQL is because
I do not want anybody to think that I have joined this mailing list to be
disruptive or the sing the praises of MySQL. On the contrary, I have joined
this list to help users get the best out of PG and to answer questions
relating to PG/Rekall issues.

The first point I would like to raise, relates to something I came across
in the archive, with the subject line "free WINDOWS rekall". Shortly,
before Chris Green posted his reply to the original post made by
Typing80wpm@aol.com, Mike Richardson( Rekall GPL at www.rekallrevealed.org
) and myself ( Rekall commercial binary distros at www.totalrekall.co.uk )
made the decision to give away old versions of Rekall. All Rekall V2.1.1
releases are now available for free download. The only stipulation is that
users register with the TotalRekall web site. The reason I ask this is
because occasionally I will send a bulk email notifying everybody of new
releases ( free, GPL and commercial ) . I do this may be 3 or 4 times per year.

The second point I would like to raise, concerns our relationship with
theKompany.com (TKC). The simple answer to this point is that we have no
relationship with TKC. At the time of the parting of the ways we made an
announcement to the affect that we would offer Rekall users, who had bought
Rekall from TKC, the opportunity to switch over to us for free. This offer
was limited to 12 months, which has since expired. We said at the time that
we would not provide support or maintenance to TKC customers unless they
switched over to us. TKC still continue to sell Rekall V2.1.x, which we
offer as a free download, and since Shawn Gordon has very limited
technically ability, he will not be able to provide much in the way of
technical support. He certainly will not be able to provide maintenance
releases, or new releases. TKC is selling an old out of date release for
$69, whereas we sell Rekall for £25 ( approx $45 ). We are thinking about
offering 3 editions - Standard, Professional and Enterprise. I will say
more about that once we have decided how best to do this and how we much we
are going to charge. What I can say is that we are working on some pretty
cool enhancements to Rekall, which will allow us to split the basic package
into 3 separate editions. The one enhancement which excite us most (at the
moment) is Rekall/WEB. If you want to know more about Rekall/WEB take a
look at the FAQs on http://www.totalrekall.co.uk.

One thing we have been thinking about for a long time is offering ready to
use Rekall applications, which we will sell at a fraction of the price of
similar types of applications. In addition, providing there is sufficient
interest we would like to produce a totally PG oriented version of Rekall.
If we did that we could include all the administrative feature of PG and
lots more

---

Regards
John Dean,
co-author of Rekall,
the only alternative
to MS Access


UPDATE Inserts New Rows

From
Ruben Oliveira
Date:
I'm having an unexpected behavior from an UPDATE query :
I expected only updates to existing rows but it is INSERTING new rows
when there isn't a PK
There  are no triggers,views or rules associated with the tables ....
and to make things worse I have a similar query to another table where
the UPDATE works as expected
and if I want to make INSERTs I have to make them :)
It seems the UPDATE is working like the Mysql REPLACE ... I tested in
Postgresql 7.3 in Linux and Postrgresql 8.0 in Win32
the new row in table084 has the field1,field2 from the where clause in
the UPDATE
the default values for field3 ,field4 and the SET values from the UPDATE
to field5, field6, field7

UPDATE table084
SET field5=table090.field9,
field6=table090.field11,
field7=date_o(now())
WHERE table084.field1=table088.field6
AND table084.field2=table090.field4
AND table088.field1='DOC_TITLE'
AND table088.field2=123456
AND table088.field1=table090.field1
AND table088.field2=table090.field2;

where table084 is defined as :

my2005=# \d table084
              Table "public.table084"
 Column |     Type      |         Modifiers
--------+---------------+---------------------------
 field1   | integer       | not null default 0
 field2   | text          | not null default ''::text
 field3   | text          | not null default ''::text
 field4   | text          | not null default ''::text
 field5   | numeric(16,3) | not null default 0.000
 field6   | numeric(16,3) | not null default 0.000
 field7   | text          | not null default ''::text
Indexes:
    "table084_pkey" PRIMARY KEY, btree (field1, field2)


Am I missing something ?
I can give you more details if needed.
Thanks for any help ...
Ruben Oliveira


Re: UPDATE Inserts New Rows

From
Richard Huxton
Date:
Ruben Oliveira wrote:
> I'm having an unexpected behavior from an UPDATE query :
> I expected only updates to existing rows but it is INSERTING new rows
> when there isn't a PK

Hmm - doesn't sound likely. Especially if you don't supply a primary key.

> There  are no triggers,views or rules associated with the tables ....
> and to make things worse I have a similar query to another table where
> the UPDATE works as expected
> and if I want to make INSERTs I have to make them :)
> It seems the UPDATE is working like the Mysql REPLACE ... I tested in
> Postgresql 7.3 in Linux and Postrgresql 8.0 in Win32

> the new row in table084 has the field1,field2 from the where clause in
> the UPDATE
> the default values for field3 ,field4 and the SET values from the UPDATE
> to field5, field6, field7

> UPDATE table084
> SET field5=table090.field9,
> field6=table090.field11,
> field7=date_o(now())
> WHERE table084.field1=table088.field6
> AND table084.field2=table090.field4
> AND table088.field1='DOC_TITLE'
> AND table088.field2=123456
> AND table088.field1=table090.field1
> AND table088.field2=table090.field2;

You should really have a FROM clause in this update - I'd have thought
you'd get an error with this in version 8.0

Could you show the actual problem:

1. BEGIN
2. SELECT oid,cmin,cmax,* FROM table084 WHERE <conditions returning no rows>
3. Run above query
4. SELECT oid,xmin,xmax,cmin,cmax,* FROM table084 WHERE <same conditions
as above>
5. SELECT oid,xmin,xmax,cmin,cmax,* FROM table084 WHERE <row that has
been updated properly>
6. ROLLBACK

That way we can see that a row has really been inserted and which
transaction did it.
--
   Richard Huxton
   Archonet Ltd

Re: Rekall for Free

From
Bob
Date:
I can't wait!

On 5/11/05, John Dean <john@totalrekall.co.uk> wrote:
Hi
This is my first post to this mailing list. I would like all list members
that I am the same person who used to work for MySQL AB. Even though I
worked for MySQL AB, PostgreSQL has always been my RDBMS of choice. The
reason for telling you all about about my involvement with MySQL is because
I do not want anybody to think that I have joined this mailing list to be
disruptive or the sing the praises of MySQL. On the contrary, I have joined
this list to help users get the best out of PG and to answer questions
relating to PG/Rekall issues.

The first point I would like to raise, relates to something I came across
in the archive, with the subject line "free WINDOWS rekall". Shortly,
before Chris Green posted his reply to the original post made by
Typing80wpm@aol.com, Mike Richardson( Rekall GPL at www.rekallrevealed.org
) and myself ( Rekall commercial binary distros at www.totalrekall.co.uk )
made the decision to give away old versions of Rekall. All Rekall V2.1.1
releases are now available for free download. The only stipulation is that
users register with the TotalRekall web site. The reason I ask this is
because occasionally I will send a bulk email notifying everybody of new
releases ( free, GPL and commercial ) . I do this may be 3 or 4 times per year.

The second point I would like to raise, concerns our relationship with
theKompany.com (TKC). The simple answer to this point is that we have no
relationship with TKC. At the time of the parting of the ways we made an
announcement to the affect that we would offer Rekall users, who had bought
Rekall from TKC, the opportunity to switch over to us for free. This offer
was limited to 12 months, which has since expired. We said at the time that
we would not provide support or maintenance to TKC customers unless they
switched over to us. TKC still continue to sell Rekall V2.1.x, which we
offer as a free download, and since Shawn Gordon has very limited
technically ability, he will not be able to provide much in the way of
technical support. He certainly will not be able to provide maintenance
releases, or new releases. TKC is selling an old out of date release for
$69, whereas we sell Rekall for £25 ( approx $45 ). We are thinking about
offering 3 editions - Standard, Professional and Enterprise. I will say
more about that once we have decided how best to do this and how we much we
are going to charge. What I can say is that we are working on some pretty
cool enhancements to Rekall, which will allow us to split the basic package
into 3 separate editions. The one enhancement which excite us most (at the
moment) is Rekall/WEB. If you want to know more about Rekall/WEB take a
look at the FAQs on http://www.totalrekall.co.uk .

One thing we have been thinking about for a long time is offering ready to
use Rekall applications, which we will sell at a fraction of the price of
similar types of applications. In addition, providing there is sufficient
interest we would like to produce a totally PG oriented version of Rekall.
If we did that we could include all the administrative feature of PG and
lots more

---

Regards
John Dean,
co-author of Rekall,
the only alternative
to MS Access

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Re: UPDATE Inserts New Rows

From
Ruben Oliveira
Date:
Thanks for the answer Richard
and my apologies for wasting your time.
After doing the first select I found that the software that uses this
database
was alreading doing the inserts if there wasn't any row with a PK on it ...
so every UPDATE i did worked when I expected otherwise...
I only noticed that when I run the first SELECT and of course there it
was the row i thought didn't exist ...

The UPDATE in Postgresql continues bugless :),

I think my mistake was making the wrong assumption about the software
code and  remembering  the  mysql REPLACE
lead me in the wrong way ...  an simple select  would  make it clear
that the aplication that uses
the DB was already doing the INSERT, shame on me :(

Thanks for everything :)
Ruben Oliveira


Richard Huxton wrote:

> Ruben Oliveira wrote:
>
>> I'm having an unexpected behavior from an UPDATE query :
>> I expected only updates to existing rows but it is INSERTING new rows
>> when there isn't a PK
>
>
> Hmm - doesn't sound likely. Especially if you don't supply a primary key.
>
>> There  are no triggers,views or rules associated with the tables ....
>> and to make things worse I have a similar query to another table
>> where the UPDATE works as expected
>> and if I want to make INSERTs I have to make them :)
>> It seems the UPDATE is working like the Mysql REPLACE ... I tested in
>> Postgresql 7.3 in Linux and Postrgresql 8.0 in Win32
>
>
>> the new row in table084 has the field1,field2 from the where clause
>> in the UPDATE
>> the default values for field3 ,field4 and the SET values from the
>> UPDATE to field5, field6, field7
>
>
>> UPDATE table084
>> SET field5=table090.field9,
>> field6=table090.field11,
>> field7=date_o(now())
>> WHERE table084.field1=table088.field6
>> AND table084.field2=table090.field4
>> AND table088.field1='DOC_TITLE'
>> AND table088.field2=123456
>> AND table088.field1=table090.field1
>> AND table088.field2=table090.field2;
>
>
> You should really have a FROM clause in this update - I'd have thought
> you'd get an error with this in version 8.0
>
> Could you show the actual problem:
>
> 1. BEGIN
> 2. SELECT oid,cmin,cmax,* FROM table084 WHERE <conditions returning no
> rows>
> 3. Run above query
> 4. SELECT oid,xmin,xmax,cmin,cmax,* FROM table084 WHERE <same
> conditions as above>
> 5. SELECT oid,xmin,xmax,cmin,cmax,* FROM table084 WHERE <row that has
> been updated properly>
> 6. ROLLBACK
>
> That way we can see that a row has really been inserted and which
> transaction did it.
> --
>   Richard Huxton
>   Archonet Ltd
>