Skip to content

Commit ef2624b

Browse files
Merge pull request #520 from KxSystems/v.1.10.0-dev-to-main
V.1.10.0 dev to main
2 parents 7406426 + 81fdf20 commit ef2624b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2925
-850
lines changed

.vscode/launch.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
"name": "Run Extension",
1010
"type": "extensionHost",
1111
"request": "launch",
12-
"args": ["--extensionDevelopmentPath=${workspaceFolder}"],
12+
"args": [
13+
"--disable-extensions",
14+
"--extensionDevelopmentPath=${workspaceFolder}"
15+
],
1316
"outFiles": ["${workspaceFolder}/out/extension.js*"],
1417
"preLaunchTask": "npm: watch"
1518
},

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,36 @@
22

33
All notable changes to the **kdb VS Code extension** are documented in this file.
44

5+
# v1.10.0
6+
7+
### Enhancements
8+
9+
- Display GGPlot for binary data output from q queries, providing a quick way to generate charts inside VSCode, making it easier to identify patterns, trends, and outliers in your data
10+
- Show stack trace for errors in the kdb Insights Enterprise scratchpad
11+
- Autocomplete for [Query APIs](https://code.kx.com/insights/1.12/enterprise/analysis/queryapi.html)
12+
- Add support for Python for KDB+ connections
13+
- Semantic highlighting for function definitions
14+
- Improved table headers in the results tab
15+
- Show query progress for KDB+ connections
16+
- Added notification for data source refresh
17+
18+
### Fixes
19+
20+
- Fixed issue with starting local q server when using WSL
21+
- Fixed double error message when unable to connect to Insights
22+
- Fixed query errors being written to the 'kdb' output rather than the 'q console output'
23+
- Fixed issue with editing a connection and moving it into an existing group
24+
- Ensured 'query is running' notification shows until the results are rendered
25+
- Fixed unresponsiveness of the extension when displaying large tables with KDB Results
26+
- Fixed unicode characters not displayed correctly in results table
27+
- Fixed OpenSSL installation check when using WSL
28+
- Fixed QSQL populate scratchpad not working
29+
30+
### Internal Improvements
31+
32+
- Removed jwtDecode types
33+
- Changed the output for local q queries for structured text
34+
535
# v1.9.1
636

737
### Fixes

README.md

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ This guide provides information on the following:
2121
- [Workbooks](#workbooks)
2222
- [Query History](#query-history)
2323
- [Viewing results](#view-results)
24+
- [AxLibraries](#axlibraries)
2425
- [q REPL](#q-repl)
2526
- [Settings](#settings)
2627
- [Shortcuts](#shortcuts)
@@ -128,8 +129,6 @@ To add connections:
128129
- [My q](#my-q): This is an unmanaged q session and is a connection to a remote q process.
129130
- [Insights](#insights-connection): This accesses **kdb Insights Enterprise** API endpoints and a user-specific scratchpad process within a **kdb Insights Enterprise** deployment.
130131

131-
![setendpoint](https://github.com/KxSystems/kx-vscode/blob/main/img/bundleqform.png?raw=true)
132-
133132
1. Set the properties appropriate to the connection type as described in the following sections.
134133

135134
### Bundled q
@@ -143,6 +142,8 @@ When you select **Bundled q** as the connection type and set the following prope
143142
| Port | Set the port for the kdb server. Ensure the port used doesn't conflict with any other running q process; e.g. 5002. [Read here for more about setting a q port](https://code.kx.com/q/basics/ipc/) |
144143
| Label Name | Select the label you want to assign the connection to |
145144

145+
![setendpoint](https://github.com/KxSystems/kx-vscode/blob/main/img/bundleq.png?raw=true)
146+
146147
1. Click **Create Connection** and the connection appears under **CONNECTIONS** in the primary sidebar..
147148

148149
1. Right-click the q bundled process listed under **CONNECTIONS**, and click **Start q process**.
@@ -437,6 +438,11 @@ For any file with a **.q** or **.py** extension there are additional options ava
437438

438439
- **Run q file in new q instance** - If q is installed and executable from the terminal you can execute an entire q script on a newly launched q instance. Executing a file on a new instance is done in the terminal, and allows interrogation of the active q process from the terminal window.
439440

441+
When executing Python code against kdb+ connections, **note** the following:
442+
443+
- A Python variable is defined in the remote process `_kx_execution_context`, which means you need to explicitly accept it to avoid implicit changes to the remote process. It doesn’t make any other change to the remote process.
444+
- To write and execute Python code against kdb+ connections, make sure that `pykx` is loaded into the q process. If `.pykx` is undefined, it returns the following error: `.pykx is not defined: please load pykx`. PyKX is a Python-first interface to kdb+ and q. It helps users query and analyze huge amounts of in-memory and on-disk time-series data, significantly faster than other libraries. For more information on getting started with pykx, refer to the [pykx quickstart](https://code.kx.com/pykx/3.0/getting-started/quickstart.html).
445+
440446
### Insights query execution
441447

442448
**kdb Insights Enterprise** offers enhanced connectivity and enterprise level API endpoints, providing additional means to query data and interact with **kdb Insights Enterprise** that are not available with standard kdb processes. You must have an instance of **kdb Insights Enterprise** running, and have created a [connection](#connections) within the **kdb VS Code extension**.
@@ -593,6 +599,38 @@ All query executions happen remotely from the **kdb VS Code extension** either a
593599

594600
![kdb results view](https://github.com/KxSystems/kx-vscode/blob/main/img/kdbview-results.png?raw=true)
595601

602+
## AxLibraries
603+
604+
The following features of [AxLibraries](https://code.kx.com/developer/libraries/) are integrated and can be used within the extension:
605+
606+
- [Grammar of Graphics](#grammar-of-graphics)
607+
- q static linter
608+
609+
**Note:** To use those features, you should install AxLibraries following the [installation instructions.](https://code.kx.com/developer/libraries/#installation)
610+
611+
### Grammar of Graphics
612+
613+
Grammar of Graphics (GG) is a scripted visualization library for kdb+.
614+
615+
GGPlot2 in VSCode allows you to create detailed and informative visualizations, helping you understand the underlying patterns and trends in your data more clearly without having to switch to RStudio. For more information refer to the [GGPlot documentation](https://code.kx.com/developer/ggplot/).
616+
617+
To use GGPlot2 in VSCode:
618+
619+
- Create a `my q` connection to the port to load the library.
620+
621+
- Write a script to query and load data. Make sure to clean and prepare the data for visualization, ensuring it is in a format suitable for analysis.
622+
623+
- Use GGPlot2 to create visualizations, such as a bar plot showing the total transaction amount by month.
624+
625+
- Run the script within VSCode. The chart is generated and displayed in the VSCode plot viewer, and you can save the plot.
626+
**Note**: When executing GG scripts, calling `.qp.display2` displays the plot locally.
627+
628+
![gg-plot](https://github.com/KxSystems/kx-vscode/blob/main/img/gg-plot.png?raw=true)
629+
630+
You can make changes to the script before exporting the plot. Re-running the script updates to reflect the changes.
631+
632+
**Note**: When executing GG script commands, select the `KDB RESULTS` tab to display the plot.
633+
596634
## q REPL
597635

598636
q REPL can be started from the command prompt by searching **q REPL**.

img/bundleq.png

82.8 KB
Loading

img/bundleqform.png

-84 KB
Binary file not shown.

img/conn-labels-tree.png

-3.24 KB
Loading

img/conn-labels.png

-32 Bytes
Loading

img/create-new-label-btn.png

-127 Bytes
Loading

img/edit-bundle-q-conn-form.png

104 Bytes
Loading

img/edit-insights-conn-form.png

11.9 KB
Loading

0 commit comments

Comments
 (0)