Philippe | 24 Sep 2003 12:09
Picon

Re: Isolation level 1 - Differences between Oracle and MAX DB

I found some interesting reading about this. This is like an advertisement
for PostgreSQL. My new question is : "Is SAP DB usable in high concurrency
situation ?".

Thanks for answers, opinions, experiences... and more

Philippe

"Both databases support ACID transactions. PostgreSQL uses *multi-version
concurrency control* so reads and writes won't interfere with each other,
while SAP DB uses *row-level locking*. In this respect, PostgreSQL v. SAP DB
is similar to Oracle v. DB2.
[...]
Postgresql uses MVCC (multi-version concurrency control.) That allows for
multiple transactions to run with each viewing the database as an instance
in time when the transaction began. Other than Oracle and Postgresql, I
don't think any other database uses MVCC.
[...]
Row level locking is a win for a data warehouse, with little writes and many
reads, but in a heavily updated transactional environment hits a brick wall
pretty quick.
[...]
The main advantage to using the MVCC model of concurrency control rather
than locking is that in MVCC locks acquired for querying (reading) data do
not conflict with locks acquired for writing data, and so reading never
blocks writing and writing never blocks reading."

And this link :   http://www.onlamp.com/lpt/a/872

--

-- 
(Continue reading)

Schroeder, Alexander | 24 Sep 2003 11:16
Picon
Favicon

RE: Isolation level 1 - Differences between Oracle and MAX DB

Hello Phillipe,

Oracle and some other use a technique called 'consistent read' meaning
the old value is there until the COMMIT is issued, and the new value
is handled somehow special (so that the session that did the change 
will see its own change). 

The other way to do this is by locking that row against readers, as Max 
DB and some others do it. 

Generally, if you program for more than one RDBMS, you will usually
be need to prepared for expecting both strategies to happen, about
half the RDBMS products does it the one way, and the other half does
it in the other way.

Isolation level 1 (READ COMMITTED) does only mean that there must not
be data returned that is not committed. Both strategies fulfill this
constraint.

Alexander Schröder
SAP DB, SAP Labs Berlin 

> -----Original Message-----
> From: Philippe [mailto:sapdb <at> infologic.fr]
> Sent: Tuesday, September 23, 2003 10:08 PM
> To: maxdb <at> lists.mysql.com
> Subject: Isolation level 1 - Differences between Oracle and MAX DB
> 
> 
> Hello,
(Continue reading)

Flemming Frandsen | 24 Sep 2003 12:38

Re: Isolation level 1 - Differences between Oracle and MAX DB

Philippe wrote:
> Other than Oracle and Postgresql, I don't think any other database
> uses MVCC.

Actually Interbase/firebird does this as well and I think it was the
first DBMS to do that, I know it had it years before Oracle and postgresql.

> I found some interesting reading about this. This is like an advertisement
> for PostgreSQL. My new question is : "Is SAP DB usable in high concurrency
> situation ?".

It seems to work pretty nicely as the backend for a (sometimes) heavily
loaded website.

As far as I can see there is relatively narrow set of problems that
concurrent versioning help you avoid that traditional locking doesn't,
as most of the time different clients update different data (so locking
and concurrent versioning give the same result) and whenever two clients
start updating the same data then one needs to wait for the other to
complete anyway (same result again).

Now if you have a lot of long-running transactions (ones that wait for
the user to make selections, maybe) then concurrent versioning is going
to help you a lot I'd expect.

I have tried using a mvcc database as the backend for the same website
and I saw a lot of really strange deadlock problems, that sapdb seems to
avoid simply by waiting for locks in stead, which is alright with me as
all my transactions are very short and read a lot more than they write.

(Continue reading)

GTT Hannover | 24 Sep 2003 12:06
Picon
Favicon

SAP DB 7.4.03.27 on W2K - libsqlca.lib/libpcrm.lib: debugging information corrupt

Hello,

working on W2K using Visual C++ 6.0 I would like to debug my application,
which uses the EMBEDDED SQL/ANSI C interface of SAP DB.

The linker produces the following error messages:

libsqlca.lib(vpi30cac.o) : fatal error LNK1103: debugging information
corrupt; recompile module
libpcrm.lib(vpr03m-m.o) : fatal error LNK1103: debugging information
corrupt; recompile module

My question: is there any way to download the libraries without any debug
information?

Thanks,

Johannes

-----------------------------------------------

Johannes Jäger

GTT Gesellschaft für Technologie Transfer mbH
Hollerithallee 7
30419 Hannover

Tel.: +49 (0)511 27947-0
Fax : +49 (0)511 27947-299

(Continue reading)

Bogdan Ene-Iordache | 24 Sep 2003 13:11
Picon

Can one read the LOG ?

SAPDB 7.4.3.0.27 on Win2000

Hi,

I need to collect some information from the past, i.e. I would like to know 
<WHO> user insert <WHEN> some <DATA>. 
Is it possible to retrive it in the LOG ? If yes how ?

Thanks,

Bogdan

--

-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/maxdb?unsub=gcdm-maxdb <at> m.gmane.org

jean-michel OLTRA | 24 Sep 2003 13:56

RE: cursor.fetchmany


	bonjour,

Excuse me for theCc field, I dont not receive maxdb list anymore. A
problem of mine or have I been unsubscribed ?

>1) I couldn't reproduce the error using the current build and I don't
> remember having
> fixed anything in that area so maybe you have a very old version?
Oh no, I downloaded sapdb-python-linux-i386-7.4.03.12a.tgz, the native
Python driver with sapdb-all-linux-32bit-i386-7_4_3_27 doesn't connect.

> Try executing
> python -c "import sapdb.sql; print sapdb.sql._buildInfo ()"
sqlpy     7.4.3    Build 010-000-000-000

i> 2) Can you detect whether the cursor begins again from the top or
> whether the last rows are delivered over and over again?
The last ones. Here are some output of len (echantillon) for 1681 rows

with: cursor.arraysize = 200
8 times 200 and one time 81
then sequences of 129 rows. fetchmany goes 129 rows back to row 
(1681 - 129) again and again

with cursor.arraysize = 129
13 times 129 and one time 4
then 129
then break on test: if echantillon == [] (returns echantillon == [])

(Continue reading)

Hübschen, Peter | 24 Sep 2003 14:18
Picon

Re: What's wrong with this dbproc??

Hello, 

I found out that there's nothing wrong with my dbproc. It seems to be a
SQLStudio issue, since I had a problem with a query and the solution was
nearly same.
To create my dbproc I marked all, copied it to a new SQL-Dialog, pushed F8
and *pling* Statement successfully executed.
Now to my query-problem. I've created a query with 2 lines for my select
then I added the 2 needed tables to the from clause and added the joins I
needed to the where-part. Afterwards I added a new "field" to select, added
the table to 'from' and added a furher line to my where-part. This went on
until my query was ready. Then I tried to execute it and I got a missing
delimiter error or something like that. So I cutted and pasted a little bit
to rearrange my query and to find my error and on one point it was executed.
So I rearranged it to the 'original' state and it was executed too. It's
very strange, as if I entered a "secret" and invisible character which
destroyed my efforts to execute my query.

Peter

P.S. I have not tried to make it reproducable.

> -----Ursprüngliche Nachricht-----
> Von:	Hübschen, Peter 
> Gesendet am:	Mittwoch, 24. September 2003 08:15
> An:	Mailingliste SAPDB (E-Mail)
> Betreff:	What's wrong with this dbproc??
> 
> Hello, 
> 
(Continue reading)

Dittmar, Daniel | 24 Sep 2003 14:26
Picon
Favicon

RE: Kernel error

> I am using the Database Manager GUI 7.4. I am trying to set 
> my instance
> online but get the following error.
> 
> Code : -24994
> Description: runtime environment error [db_warm -f]; -2,Kernel start
> failed.

The first step would be to check the knldiag for errors (http://sapdb.2scale.net/moin.cgi/knldiag).

If you have created the database using the wizard, make sure that the data volumes are large enough (> 20MB).

Daniel Dittmar

-- 
Daniel Dittmar
SAP DB, SAP Labs Berlin
daniel.dittmar <at> sap.com
http://www.sapdb.org/

--

-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/maxdb?unsub=gcdm-maxdb <at> m.gmane.org

Brunzema, Martin | 24 Sep 2003 14:06
Picon
Favicon

RE: Can one read the LOG ?


> -----Original Message-----
> From: Bogdan Ene-Iordache [mailto:bogdan <at> marionegri.it] 
> Sent: Wednesday, September 24, 2003 1:12 PM
> To: maxdb <at> lists.mysql.com
> Subject: Can one read the LOG ?
> 
> 
> SAPDB 7.4.3.0.27 on Win2000
> 
> Hi,
> 
> I need to collect some information from the past, i.e. I 
> would like to know 
> <WHO> user insert <WHEN> some <DATA>. 
> Is it possible to retrive it in the LOG ? If yes how ?

Hi,

the Log does not contain user-information.

regards, Martin

--

-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/maxdb?unsub=gcdm-maxdb <at> m.gmane.org

Hahn, Uwe | 24 Sep 2003 14:46
Picon
Favicon

RE: Can one read the LOG ?

In 7.4 this is not possible because we do not write session information into the log.

In 7.3 and older every session wrote a connect and release logentry with a user id so every change could be
identified. In release 6.1 even a tool named "audit" existed which had collected the information you mentioned.
kind regards
Uwe

> -----Original Message-----
> From: Bogdan Ene-Iordache [mailto:bogdan <at> marionegri.it]
> Sent: Mittwoch, 24. September 2003 13:12
> To: maxdb <at> lists.mysql.com
> Subject: Can one read the LOG ?
> 
> 
> SAPDB 7.4.3.0.27 on Win2000
> 
> Hi,
> 
> I need to collect some information from the past, i.e. I 
> would like to know 
> <WHO> user insert <WHEN> some <DATA>. 
> Is it possible to retrive it in the LOG ? If yes how ?
> 
> Thanks,
> 
> Bogdan
> 
> -- 
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
(Continue reading)


Gmane