Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

problem with adsdbe: thread change field value but other active threads view old value!

2 posts in Xbase++ Last posting was on 2008-11-03 09:42:57.0Z
Roland Gentner Posted on 2008-05-25 10:09:47.0Z
From: "Roland Gentner" <rg@gentner.net>
Newsgroups: advantage.Xbase++
Subject: problem with adsdbe: thread change field value but other active threads view old value!
Date: Sun, 25 May 2008 12:09:47 +0200
Lines: 40
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-RFC2646: Format=Flowed; Original
NNTP-Posting-Host: 217.6.179.18
Message-ID: <4839398e@solutions.advantagedatabase.com>
X-Trace: 25 May 2008 04:03:58 -0700, 217.6.179.18
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!217.6.179.18
Xref: solutions.advantagedatabase.com Advantage.Xbase++:960
Article PK: 1140806

Hallo!

This problem is occur only with adsdbe without all runs well.
We have ads 8.10.0.18 installed on server.

The problem:
Our program use one dbf (here named DBMAIN) to exchange information with
other programms and store main values.
This DBMAIN is open shared for read in all programs and is never closed -
only on exit.

In this program we start a calculation routine in a new thread.
The calculating thread change some values in DBMAIN an then ends the thread.

With adsdbe:
All programs running at this time shows the old values from DBMAIN ! On all
workstations at the same time!
The changed values only appears, when we close and re-open DBMAIN or we do
dbskip(0).

The user didnt wait for automatic data refresh, they work on with the
program or press the update key.

Info:
the DBMAIN has only one record. All programms points to this record, ever
(so DBMAIN has no index).

The problem was unnoticed long time - we built in the calculating thread one
year ago.

We can test the different results by switching on/of using adsdbe.

There must be a difference in using adsdbe and pure xbase++

Did someone know this problem?

Regards,
Roland Gentner


UliTs Posted on 2008-11-03 09:42:57.0Z
Date: Mon, 03 Nov 2008 10:42:57 +0100
From: UliTs <ProScope@t-online.de>
User-Agent: Thunderbird 2.0.0.17 (Windows/20080914)
MIME-Version: 1.0
Newsgroups: advantage.Xbase++
Subject: Re: problem with adsdbe: thread change field value but other active threads view old value!
References: <4839398e@solutions.advantagedatabase.com>
In-Reply-To: <4839398e@solutions.advantagedatabase.com>
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 84.187.204.128
Message-ID: <490ec624@solutions.advantagedatabase.com>
X-Trace: 3 Nov 2008 02:36:36 -0700, 84.187.204.128
Lines: 48
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!84.187.204.128
Xref: solutions.advantagedatabase.com Advantage.Xbase++:1002
Article PK: 1140846

Hallo Roland,

every time you want to read the actual values from the same record
you have to use dbskip(0)!
The old adsdbe was not optimized and much slower.
Uli

Roland Gentner schrieb:

> Hallo!
>
> This problem is occur only with adsdbe without all runs well.
> We have ads 8.10.0.18 installed on server.
>
> The problem:
> Our program use one dbf (here named DBMAIN) to exchange information with
> other programms and store main values.
> This DBMAIN is open shared for read in all programs and is never closed -
> only on exit.
>
> In this program we start a calculation routine in a new thread.
> The calculating thread change some values in DBMAIN an then ends the thread.
>
> With adsdbe:
> All programs running at this time shows the old values from DBMAIN ! On all
> workstations at the same time!
> The changed values only appears, when we close and re-open DBMAIN or we do
> dbskip(0).
>
> The user didnt wait for automatic data refresh, they work on with the
> program or press the update key.
>
> Info:
> the DBMAIN has only one record. All programms points to this record, ever
> (so DBMAIN has no index).
>
> The problem was unnoticed long time - we built in the calculating thread one
> year ago.
>
> We can test the different results by switching on/of using adsdbe.
>
> There must be a difference in using adsdbe and pure xbase++
>
> Did someone know this problem?
>
> Regards,
> Roland Gentner
>
>