AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Pgmodeler windows11/9/2023 ![]() Fixed a bug in partial reverse engineering that was not correctly importing functions in some specific conditions.Minor fix in pgmodeler-cli when extracting the objects' XML code during model file structure repair in order to restore correctly the layers name/count.If one or more layers are invalid the object will be moved to the default layer 0. Minor fix in the object addition routine to validate the layer of the object being added.Minor fix in the object removal routine in a model widget that was not erasing an object in case it shared the same name of other objects in the same schema.Minor fix in the database model widget to hide the new object overlay when moving a selection of objects in the design area.Minor fix in the object finder widget to avoid disconnecting a null selection which could lead to crashes.Data manipulation form now shows a confirmation message before closing when items are pending save.īug fixes: Also, as part of the constant search for the overall tool's stability and reliability, almost twenty bugs were fixed, and below we highlight some key ones:.Improving the objects' filtering in reverse engineering by introducing an "any" filter type.Improved the scene background (grid, delimiter, limits) drawing speed for big models.The "dot" grid mode is now the default in the nf file due to better drawing performance.Improved the relationship point addition and selection via mouse clicks.Added a basic form to inspect changelog XML code.Added an option in GeneralConfigWidget to reset the exit alert display status.Add support for remembering decisions on the alerts regarding unsaved models/open SQL tabs.pgModeler now asks the user about closing SQL execution tabs that are not empty (with typed commands).Added support for using object comments as aliases in database import.Added support for inksaver color theme which uses only black and white colors for models that are used for printing. ![]() Several other improvements: General improvements were made all over the tool and some of them are described below. I still have some other bottlenecks to solve, but those two already removed, gave pgModeler an amazing performance. Those changes made models that were loading/validating in several minutes to be processed in a few seconds. Instead of calling every time a procedure that runs countless loops and recursive calls, I just made the objects store internally which other objects are their references and dependencies. For the objects' dependencies and reference handling, I completely ditched the methods written for that purpose and created something infinitely simpler. A simple solution that brought a surprisingly good result. For the objects' name formatting and validation, I decided to create an internal name cache to avoid calling those procedures repeatedly. Those seemed simple operations that I could even imagine that they were making pgModeler struggle to handle big models. The two main bottlenecks that degraded the speed of the mentioned operations were the objects' name validation/formatting as well as the retrieval of objects' dependencies and references. After selecting the problematic ones, I took the path of rewriting some mechanics instead of trying to fix them. During the development of this version, I decided to face the challenge of improving these three operations, so I delved into the internals of the tool looking for the major bottlenecks. Improved model loading, objects' searching, and validation speeds: One of the most annoying things on pgModeler for me was the speed of the operations like objects' search, model validation, and, mainly, database model file loading. So I put a huge effort into refactoring lots of code to reach an amazing (almost unbelievable) result. This version was mainly focused on improving performance on several parts of the tool. Here we are, after working for 4 months, bringing you the last alpha release of pgModeler 1.1.0. This way, at the first start of the newer version, pgModeler will try to migrate the older settings to the newer ones automatically! Attention: Some configuration files were changed in pgModeler 1.1.0-alpha1 causing a break in backward compatibility with pgModeler 1.0.x settings.
0 Comments
Read More
Leave a Reply. |