DataGrip 2023.3 EAP is Open
Hello! We’re starting our 2023.3 Early Access Program (EAP) and, as usual, we invite you to try the latest features and improvements we’re adding to DataGrip ahead of the official release.
Let’s take a look at what’s inside the first EAP build.
[Oracle]: Introspection level defaults
DataGrip takes a long time to introspect schemas in Oracle because Oracle catalogs are very slow. To address this problem, introspection levels were introduced.
By default, the highest level was selected, which meant that selected schemas immediately began to be introspected at the third level, which was slow.
Also, some users were unaware that the introspection level setting existed at all.
In 2023.3, DataGrip prioritizes the user experience and performance over the fullness of functionality. The default value for the introspection level now is Auto Select.
Our new approach is to set the default introspection level for each schema based on the schema type and number of objects.
We assumed that users most often work with the current schema, less often with other schemas, and very rarely with system ones. The current schema is the one the Oracle session is connected to.
For each schema the introspector counts objects and selects the introspection level using the following thresholds, where N is the number of objects:
Schema | Level 3 | Level 2 | Level 1 |
---|---|---|---|
Current | N ≤ 1000 | 1000 < N ≤ 3000 | N > 3000 |
Non-current | Never | N ≤ 3000 | N > 3000 |
System | Never | N ≤ 100 | N > 100 |
We’ve also implemented fragmental introspection – the ability to retrieve metadata for one single object. This helps in situations where the metadata (usually, the source code) is explicitly requested by the user.
For example, if you double click on a view, but the introspection level is low, DataGrip requests the source code at the same moment. This is more similar to how all other database tools work.
The automatic level detection is enabled by default. If you want DataGrip to work as before, go to Data Source properties | Options | Introspection | Default level | Level 3.
[SQLite] Warning if using WSL path
Unfortunately, it is impossible to work with the SQLite database located under a WSL path. The reason is that WSL doesn’t respect the SQLite file locking mechanism. For now, the only available solution for DataGrip is to show a warning in that particular case.
Don’t forget to vote for the original WSL issue if it’s critical for you.
That’s it for today!
The DataGrip team