Jump to content


Click the link below to see the new game I'm developing!


Photo
- - - - -

Don't use PROIV v9 9.54.9 and earlier with SQLServer

WITH (NOLOCK)

3 replies to this topic

#1 Marlon

Marlon

    Member

  • Members
  • PipPip
  • 49 posts
  • Gender:Not Telling
  • Location:London

Posted 30 March 2021 - 03:55 PM

With PROIV v9, PROIV in their wisdom removed the insertion of WITH (NOLOCK) into SQL produced from SQL ENDSQL blocks in logic so whereas this SQL SELECT column1, column2 FROM table1 ENDSQL would have produced this actual SQL SELECT column1, column2 FROM table1 WITH (NOLOCK), up to and including 9.54.9 it just made this SELECT column1, column2 FROM table1 so of course there's a fair chance you'll get a barrel load of locking problems. Not only did they do this with no prior warning, so at least you'd have some time to amend your code, they also did it with no notification in the release notes. Fortunately, someone has realised what an almight c!ck-up this is and it's supposedly being reversed in a release due very soon after me writing this on 30th March, 2021.

This is your captain speaking. We may experience some slight turbulance and then...explode.


#2 Richard Bassett

Richard Bassett

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 707 posts
  • Gender:Not Telling
  • Location:Rural France

Posted 31 March 2021 - 01:13 PM

As a matter of interest, would you be experiencing locking issues here because you are not using row versioning?

 

(IIRC, row versioning a.k.a. MVCC is an optional thing in SQL/Server, unlike Oracle, Postgres and MySQL/InnoDB)


Nothing's as simple as you think

#3 Marlon

Marlon

    Member

  • Members
  • PipPip
  • 49 posts
  • Gender:Not Telling
  • Location:London

Posted 31 March 2021 - 02:27 PM

As a matter of interest, would you be experiencing locking issues here because you are not using row versioning?

 

(IIRC, row versioning a.k.a. MVCC is an optional thing in SQL/Server, unlike Oracle, Postgres and MySQL/InnoDB)

Interesting question.  I'll ask the customer what they're doing.  However, as PROIV have made no mention of this and have said they're putting back the auto-insert of WITH (NOLOCK), I suspect it's not relevant.


This is your captain speaking. We may experience some slight turbulance and then...explode.


#4 Marlon

Marlon

    Member

  • Members
  • PipPip
  • 49 posts
  • Gender:Not Telling
  • Location:London

Posted 01 April 2021 - 07:16 AM

v9.61 is now out on the PROIV website which, PROIV say, fixes the WITH (NOLOCK) issue.


This is your captain speaking. We may experience some slight turbulance and then...explode.




Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Click the link below to see the new game I'm developing!