Skip to content

Commit ea71c94

Browse files
committed
docs: update docs for 1.2.0 release
1 parent aca1852 commit ea71c94

File tree

2 files changed

+81
-16
lines changed

2 files changed

+81
-16
lines changed

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,30 @@ All notable changes to the "PostgreSQL Hacker Helper" extension will be document
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.2.0]
9+
10+
### Added
11+
12+
- Compatibility with PostgreSQL starting from **8.0** version. This includes:
13+
- Linked List implementation of `List`
14+
- `Bitmapset` traversal using `bms_first_member` and temp object
15+
- `Bitmapset` handling for versions up to 16, when it was not Node type
16+
- Compatibility with VS Code versions starting from **1.30**. But some features
17+
can be unaccessible due to API incompatibility.
18+
19+
In example some versions do not have `Dump Node to stdout` in variables debug
20+
context menu.
21+
- Add more NodeTags - searched from version 8.0 to 17. Current amount - 558.
22+
23+
### Fixed
24+
25+
- Log level not updated until restart of extension (or VS Code).
26+
- Invalid Node casting when declared type has `struct` qualifier and NodeTag
27+
type do not have it.
28+
29+
Example: `typedef JoinPath NestJoin` (for versions up to 14) - failed to show
30+
members when declared type is `struct Path *`.
31+
832
## [1.1.2]
933

1034
### Fixed

README.md

Lines changed: 57 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,34 @@ They appear in separate action view.
1717

1818
![Overview of extension](resources/overview.gif)
1919

20-
It behaves like Debug->Variables view, but no colorization (limitations of VS Code Extension framework) and automatically detects real type of `Node *` variables.
20+
It behaves like Debug->Variables view, but no colorization (limitations of VS
21+
Code Extension framework) and automatically detects real type of `Node *` variables.
2122

2223
Also, there are intrinsics for some types:
2324

2425
- `List` elements are displayed according their types
2526

2627
![List * expansion](resources/list.gif)
2728

28-
- Support for special members like `PlannerInfo->simple_rel_array` - array is displayed using it's length
29+
- Support for special members like `PlannerInfo->simple_rel_array` - array is
30+
displayed using it's length
2931

3032
![Planner expansion](resources/planner.gif)
3133

32-
Currently, there are 36 registered special members, but you can add your own using [pgsql_hacker_helper.json](#pgsql_hacker_helperjson) configuration file.
34+
Currently, there are 36 registered special members, but you can add your own
35+
using [pgsql_hacker_helper.json](#pgsql_hacker_helperjson) configuration file.
3336

34-
- `Bitmapset` elements with total lengths are displayed: `$elements$` - pseudo-member
37+
- `Bitmapset` elements are displayed:
38+
- `$elements$` - elements of set (array of integers)
39+
- `$length$` - number of entries in set
3540

3641
![Bitmapset expansion](resources/bitmapset.gif)
3742

3843
### Dump `Node *` state to log
3944

40-
In PostgreSQL there is `pprint(Node *)` which dumps passed Node variable to stdout with pretty printing it.
41-
Using 'Dump Node to log' option in variable context menu you also will be able to do so.
45+
In PostgreSQL there is `pprint(Node *)` which dumps passed Node variable to
46+
stdout with pretty printing it. Using 'Dump Node to log' option in variable
47+
context menu you also will be able to do so.
4248

4349
![call pprint](resources/dump.gif)
4450

@@ -47,9 +53,9 @@ Using 'Dump Node to log' option in variable context menu you also will be able t
4753
### pgsql_hacker_helper.json
4854

4955
This is a configuration file for extension.
50-
It stored inside `.vscode` directory in your repository - `.vscode/pgsql_hacker_helper.json`.
51-
You can use config file to extend built-in capabilities if there is no
52-
support for something yet.
56+
It stored inside `.vscode` directory in your repository -
57+
`.vscode/pgsql_hacker_helper.json`. You can use config file to extend built-in
58+
capabilities if there is no support for something yet.
5359

5460
Example json:
5561

@@ -94,22 +100,57 @@ For more info check [configuration file documentation](./docs/config_file.md).
94100

95101
There are 2 settings:
96102

97-
- Log level - set minimum level of log messages in Output channel. By default - `INFO`
98-
- Files with NodeTag files - list of paths points to files that contain NodeTags. By default - `src/include/nodes/nodes.h`, `src/include/nodes/nodetags.h`
103+
- Log level - set minimum level of log messages in Output channel.
104+
By default - `INFO`
105+
- Files with NodeTag files - list of paths points to files that contain NodeTags.
106+
By default - `src/include/nodes/nodes.h`, `src/include/nodes/nodetags.h`
107+
108+
## Compatibility
109+
110+
Extension tries to be compatible with multiple versions of both VS Code and
111+
PostgreSQL.
112+
113+
Minimal supported version of:
114+
115+
- `VS Code` - 1.30
116+
- `PostgreSQL` - 8.0
117+
118+
> It is tested manually and not all use cases might be covered. If you found
119+
> bug specific to some version please [create issue](https://github.com/ashenBlade/postgres-dev-helper/issues).
120+
121+
Also, extension will target latest VS Code version and try to use the full
122+
functionality of new versions. So, use latest VS Code versions to get new
123+
features earlier.
99124

100125
## Known Issues
101126

102127
Known issues:
103128

104129
- Only tested on gdb debugger, UB for other debuggers (i.e. lldb)
105-
- If in pointer variable was garbage, extension will not detect it and expand this variable (may be garbage)
106-
- To get NodeTags extension reads all available NodeTag files (from settings), but
107-
these files may be not created (./configure or make not run). I assume by time
108-
of debugging start files will be created, so extension catch them and process.
109-
- Tested only with [ms-vscode.cpptools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) extension
130+
- If in pointer variable was garbage, extension will not detect it and expand
131+
this variable (may be garbage)
132+
- To get NodeTags extension reads all available NodeTag files (from settings),
133+
but these files may be not created (./configure or make not run). I assume by
134+
time of debugging start files will be created, so extension catch them and
135+
process.
136+
- Tested only with [ms-vscode.cpptools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
137+
extension
110138

111139
## Release Notes
112140

141+
### 1.2.0
142+
143+
Expand range of supported versions both for PostgreSQL (from 8.0) and VS Code
144+
(from 1.30).
145+
146+
Add support for Bitmapset for versions below 16.
147+
148+
Add support for List with Linked List implementation.
149+
150+
Fix log level updated only after extension or VS Code reload.
151+
152+
Fix invalid Node cast in some cases when declared type has `struct` keyword.
153+
113154
### 1.1.2
114155

115156
Fix invalid `List` behaviour with different declared type - members shown for

0 commit comments

Comments
 (0)