Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. adyble

    Firedac MySql pessimistic lock

    Thanks for the reply. I never thought to check firedacs sources. I'll have a look around.
  2. adyble

    Firedac MySql pessimistic lock

    Hi All We have a specific requirement on some MySql tables using Firedac and Delphi 10.3 to lock records at the point of issuing a .Edit command for the FDQuery. If we set UpdateOptions - Lockmode = ImPessimistic LockPoint - lpImmediate LockWait - False then all records are locked and not just the record I am editing. I cannot actually retrieve a "Lock" waring or error so having to trap this message : if E.Message = '[FireDAC][Stan]-700. Timeout expired' then //locked by a user or best guess at the moment It's the only one that seems to ever get returned. How does anyone else do it ? Thanks Andy
  3. adyble

    Delphi FireDAC .Post on Firebird table

    Hi Lars We performed a lot of tests. 9.7 million records, via remote TCP to a Linux server in a datacentre. Most queries were "Like" on a large field. 5 users performing queries at the same time. There was virtually no difference is speed or load on the server. Maybe our apps aren't very data hungry. We since changed from Firebird to MySql and they are even faster. The data was returned in Msecs every time. We don't have a PK index but we do use a GUID for every record as an additional identifier. I was very surprised (and pleased) with these results. It's very rare for our tables to have more than 100,000 records and 5 users. Andy
  4. In the end, we changed to use MySql, it is so much faster and more forgiving for our purposes. Sure, it costs a bit but we are a commercial enterprise so that's fair.
  5. Hi Which part are you wrapping this around ? The ctlr-end keys or drag scrollbar down ?
  6. Hi Using FireDac Firebird to query a dataset of a few thousand records and scroll to bottom or press End on DBGrid it is really slow, maybe 10 seconds. After that it scrolls fine. I've tried all the fetch options I can but seems to issue a FetchAll whenever this happens. Advantage database server just skips instantly to the end and I've just been testing MySql and that is also instant. Is Firebird not capable of this or I have just got some settings wrong ? Now, I know some people will say why do you need to display thousands of records in a grid, but they just do and we can't take it away from them 🙂 Delphi 10.3 FB 3 Thanks Andy
  7. adyble

    Delphi FireDAC .Post on Firebird table

    In the end it was just setting the FDQuery - Fetchoptions - Autofetchall to afTruncate and it works perfectly.
  8. adyble

    Delphi FireDAC .Post on Firebird table

    I didn't show it at first in case anyone had seen before. It was simply that after the first .Post it does a fetchAll, but after that all records are fetched so doesn;t need to do it again. Changing fetch option - AutoFetchAll to Truncate solved it but I am not sure what Truncate does, so will have to see what effect it has. We manage the PK another way to not get duplicates and maintain sequences. We have more control our way. Never used one in 30 years.
  9. Hi all I have a strange on. We are new to FireDAC and Firebird. We have a simple Table, 20k records opened with an FDquery. RAD studio 10.3, Firebird 3 select * from jobs fetches 50 records so very quick. we use FDQuery.Insert , fill in the data and then FDQuery.Post The first time , its really slow, nearly 10 seconds, every other insert and post after that is instant. It only goes slow again after a program restart. I am guessing there are so many options on the FDQuery that something will need tweaking. This is any table, any number of records from 10 to 20k There are no indexes, PK etc . just to keep it simple to test. I created a test app if anyone has any ideas. Thanks Andy