Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread Query issue
Tue, Nov 14 2006 3:06 PMPermanent Link

"Robert"
Converting from 3.3 to 4.24 V1

I have a program that runs a query, canned result, with an order by clause.
After the query is run, there is a routine that goes thru the query and
modifies some fields. Something like

procedure modifyQuery(var q : tdbisamquery);
While not q.eof do begin
 q.edit;
 change something
 q.post;
 q.next;
end;

In V3, this worked OK. Row 1 was always row 1, row 3 always 3, etc. However
in V4, the dataset gets rearranged after the fields are changed, and loses
the original sequence. It seems as if the rows are resorted.

Is this by design, or is it a bug in V4?

Robert


Wed, Nov 15 2006 12:22 AMPermanent Link

Jason Lee
Hi Robert,

Does the query have an ORDER BY clause? If so, when you are editing the
canned result set are you changing any field values of fields included
in the ORDER BY?

Regards,

--
Jason Lee
Elk Run Software

Robert wrote:
> Converting from 3.3 to 4.24 V1
>
> I have a program that runs a query, canned result, with an order by clause.
> After the query is run, there is a routine that goes thru the query and
> modifies some fields. Something like
>
> procedure modifyQuery(var q : tdbisamquery);
> While not q.eof do begin
>   q.edit;
>   change something
>   q.post;
>   q.next;
> end;
>
> In V3, this worked OK. Row 1 was always row 1, row 3 always 3, etc. However
> in V4, the dataset gets rearranged after the fields are changed, and loses
> the original sequence. It seems as if the rows are resorted.
>
> Is this by design, or is it a bug in V4?
>
> Robert
>
>
>
Wed, Nov 15 2006 12:52 AMPermanent Link

Jason Lee
Robert,

Sorry...I reread your original post and noticed you are using an ORDER
BY clause. In V4, canned result sets are temporarily indexed according
to the ORDER BY clause. If you edit any fields that are in the temporary
index, then they will be reordered upon post.

Regards
--
Jason Lee
Elk Run Software


Jason Lee wrote:
> Does the query have an ORDER BY clause? If so, when you are editing the
Wed, Nov 15 2006 6:59 AMPermanent Link

"Robert"

"Jason Lee" <computerguy@wavecable.com> wrote in message
news:5B1467CC-2788-489D-8806-A1A3C1A5B714@news.elevatesoft.com...
> Robert,
>
> Sorry...I reread your original post and noticed you are using an ORDER BY
> clause. In V4, canned result sets are temporarily indexed according to the
> ORDER BY clause. If you edit any fields that are in the temporary index,
> then they will be reordered upon post.
>

Yeah, I had reached the same conclusion. I guess it's by design, which means
re-design time for me. Thanks for your help.

Robert

Wed, Nov 15 2006 4:30 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Robert,

Per email:

<< In V3, this worked OK. Row 1 was always row 1, row 3 always 3, etc.
However in V4, the dataset gets rearranged after the fields are changed, and
loses the original sequence. It seems as if the rows are resorted.

Is this by design, or is it a bug in V4? >>

V4 uses indexes instead of sorting for ORDER BY and GROUP BY clauses due to
the excessive overhead in V3 for the sorting, especially when it came to
grouping.  So, the short answer is yes, this is by design.

Tim Young
Elevate Software
www.elevatesoft.com

Image