On Wednesday, 4 August 2021 at 19:23:53 UTC+10, Derek Ignatius Asirvadem wrote:First, your questions
Noting that what you are used to, the PoopDePooGres "sql" is *not* SQL, and certainly *not* a programming language, but we have had SQL since IBM released it into the public domain. It is the Relational data sub-language defined by Codd. Of course, each SQL Platform supplier has extensions. In contrast the freeware has substitutions, and a whole pile of extensions that are irrelevant, that ensure that the code is not portable.
With a view to learning what actually SQL is, that it is a full programming language, and specifically what SAP/Sybase Adaptive Server Enterprise [ Transact-SQL ] is, please erase all your notions of SQL; ACID; Transactions that you have acquired, and start with a fresh and open mind. The obstacle to learning this is, as always, any attitude that you know the subject matter, and eg. you just need to learn the Sybase syntax. In particular, do not attempt to perform a task in Sybase in the pig poop way, find out how to do it in the normal commercial SQL way.
1. Visit this page
__ https://help.sap.com/viewer/product/SAP_ASE/16.0.4.0/en-US?task=whats_new_task
2. Select [ Download PDFs ] at top right
3. Choose the manuals you want, and download them. Read them from cover to cover. On the train or whatever.
4. I recommend the following, in order.
__ Installation & Upgrade Guide
__ Transact-SQL Users Guide
__ Reference/Building Blocks
__ Reference/Commands
__ Reference/Utility (especially isql)
__ Admin/System Admin Guide/Volume 1
1. Read the Transact-SQL Users Guide
____ at least ch 20 Transactions: Maintaining Data Consistency and Recovery
2. Then read my guide to the Lock Manager
____ https://www.softwaregems.com.au/Documents/Article/Sybase%20Lock%20Manager/Sybase%20Lock%20Manager.pdf
All my Sybase docs are condensed, intended for Sybase DBAs. I have
just updated it, and added a bit of detail, imp[roved the clarity, so
as to be relevant for novices.
Remember, this is a serious Lock Manager, not comparable to your 2PL
filth, which has to be asserted because you guys position commercial
SQL Platform Lock Managers as your "2PL" filth, and insist that we
have your insane problems. It is so mature and secure, so brilliant
in architecture, that it has not changed since 1984. Extended, yes
(eg. to handle new Lock Types to support SAP files, eg. add row locks;
etc), but changed, no. So read these docs with a fresh mind, to not
take your academic baggage with you.
On Sunday, 8 August 2021 at 23:52:04 UTC+10, Nicola wrote:
Nicola
On Sunday, 8 August 2021 at 23:52:04 UTC+10, Nicola wrote:
In order to reduce the lenght of the answer, which yet again has to be
an explanation for you, please read this newspaper article. Explain
in one or two sentences, what it the most important item that you (as
a teaching professor) can glean from the article.
On Wednesday, 11 August 2021 at 06:14:10 UTC+10, Nicola wrote:
On 2021-08-10, Derek Ignatius Asirvadem wrote:
Nicola
On Sunday, 8 August 2021 at 23:52:04 UTC+10, Nicola wrote:
In order to reduce the lenght of the answer, which yet again has to be
an explanation for you, please read this newspaper article. Explain
in one or two sentences, what it the most important item that you (as
a teaching professor) can glean from the article.
To me that stuff reads as fake as the fake it claims to depict.
On Wednesday, 11 August 2021 at 06:14:10 UTC+10, Nicola wrote:
On 2021-08-10, Derek Ignatius Asirvadem wrote:
On Sunday, 8 August 2021 at 23:52:04 UTC+10, Nicola wrote:
In order to reduce the length of the answer, which yet again has to be
an explanation for you, please read this newspaper article. Explain
in one or two sentences, what it the most important item that you (as
a teaching professor) can glean from the article.
Nicola
On Wednesday, 11 August 2021 at 06:14:10 UTC+10, Nicola wrote:
On 2021-08-10, Derek Ignatius Asirvadem wrote:
Nicola
On Sunday, 8 August 2021 at 23:52:04 UTC+10, Nicola wrote:
In order to reduce the lenght of the answer, which yet again has to be
an explanation for you, please read this newspaper article. Explain
in one or two sentences, what it the most important item that you (as
a teaching professor) can glean from the article.
To me that stuff reads as fake as the fake it claims to depict.
Yes, of course the tv show is fake.
Yes, of course the concept is fake (Big Brother, "progressed" 15 years).
That is obvious.
That aside, did you glean anything of value from the article ?
Nicola
On Wednesday, 11 August 2021 at 06:14:10 UTC+10, Nicola wrote:
On 2021-08-10, Derek Ignatius Asirvadem wrote:
On Sunday, 8 August 2021 at 23:52:04 UTC+10, Nicola wrote:
In order to reduce the length of the answer, which yet again has to be
an explanation for you, please read this newspaper article. Explain
in one or two sentences, what it the most important item that you (as
a teaching professor) can glean from the article.
Another simple question, clarifying only, in order to reduce my labours.
Given your detailed question, AND the example you have cited, at what
point in time, do you suggest that the COUNT() would be correct
? I am not asking for a long answer here, just clarifying you query.
A few words would be enough.
Given your detailed question, AND the example you have cited, at what
point in time, do you suggest that the COUNT() would be correct
? I am not asking for a long answer here, just clarifying you query.
A few words would be enough.
If transaction T1 is scanning a table to count its rows, and
concurrently transaction T2 removes one row and adds two, the only
values T1 should be able to compute are N (the number of rows in the
table before the T1 and T2 starts executing) and N+1. That is because
there are two possible serial executions:
False. We are not serialised.
We are discussing READ COMMITTED,
1. [S1] starts scanning the table, counting the rows, oblivious to
other activity, by virtue that it declaratively runs at READ
COMMITTED.
2. T2 executes and commits;
3. [S1] keeps scanning the table, without regard to other activity
Which somehow is rCLincorrectrCY to you.
Count() would return the correct result if and only if the returned
value is among the values that some serial execution of the same set of
committed transactions would have returned.
I reject that as a definition, Sybase; DB2; MS rejects that as well.
Wherein COUNT at READ COMMITTED works perfectly.
But there is an important second point: anyone who has even pedestrian knowledge of SQL on a genuine SQL Platform, would know that [separate
to the count changing constantly because the table is active], that
that is not a rCLproblemrCY, that that is not the way to obtain a COUNT on
a large table.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 00:51:27 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
10 files (20,373K bytes) |
| Messages: | 264,186 |