Commit Graph

38 Commits

Author SHA1 Message Date
Nathan Wallace
2a3233b319 executeQueries nil Client check closes #4797 (#4841)
* Add test for #4797: executeQueries doesn't check for nil Client

This test demonstrates that executeQueries panics with a nil pointer
dereference when Client is nil. The test currently fails with:

panic: runtime error: invalid memory address or nil pointer dereference

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix #4797: Add nil check for Client in executeQueries

Added a nil check at the start of executeQueries to prevent nil pointer
panics when Client is not initialized. Now returns an error message and
counts all queries as failures instead of crashing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-16 11:13:18 -05:00
Nathan Wallace
8915b7598b Fix #4781: RunBatchSession blocks forever if initData.Loaded never closes (#4826)
* Add test demonstrating bug #4781 - RunBatchSession blocks forever

Test currently skipped as it demonstrates the bug where RunBatchSession
blocks forever if initData.Loaded channel never closes, even when the
context is cancelled. This test will be unskipped after the bug is fixed.

Related to #4781

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix #4781: Add context cancellation check to RunBatchSession

Changes RunBatchSession to respect context cancellation when waiting for
initialization. Previously, the function would block forever on the
initData.Loaded channel if it never closed, even when the context was
cancelled. Now uses a select statement to also check ctx.Done().

Fixes #4781

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-15 12:49:13 -05:00
Nathan Wallace
69ce8bc38d RunBatchSession nil initData validation closes #4795 (#4838)
* Add test for #4795: RunBatchSession panics with nil initData

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix #4795: Add nil check to RunBatchSession

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-15 11:33:15 -05:00
Nathan Wallace
e278975448 RunBatchSession nil Client handling closes #4796 (#4839)
* Unskip test demonstrating bug #4796: RunBatchSession panics with nil Client

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix #4796: Add nil check for Client in RunBatchSession

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-15 10:49:31 -05:00
Nathan Wallace
2e5f3fda97 Add comprehensive passing tests from bug hunting initiative (#4864) 2025-11-13 09:26:46 +08:00
Nathan Wallace
7996d3c878 Fix #4712: Make Result.Close() idempotent (#4741) 2025-11-11 18:53:18 +08:00
Puskar Basu
e19d35c457 chore: update module to v2 and bump Go version to 1.24 (#4597) 2025-07-07 16:03:56 +05:30
Puskar Basu
219c049eae Fix issue where steampipe was returning 0 exit code for API failures. Closes #4551 2025-06-04 15:25:26 +01:00
Puskar Basu
da2f3ecc03 Upgrade to pipe-fittings v2, go-kit v1 (#4485) 2025-03-06 16:34:18 +05:30
kaidaguerre
8a5aca8f77 Rename CloudMetadata to PipesMetadata, move to pipe-fittings pipes package 2024-10-16 15:48:14 +01:00
Puskar Basu
30cafd9d48 fix snapshot and output 2024-10-03 16:20:09 +05:30
Puskar Basu
a0aad42e67 comments 2024-09-27 18:14:28 +05:30
Puskar Basu
e9dfb2ad12 publish snapshot working 2024-09-27 18:14:28 +05:30
Puskar Basu
758a100215 finally working 2024-09-27 18:14:28 +05:30
Puskar Basu
0a836584e9 snapshot output and export working 2024-09-27 18:14:28 +05:30
Puskar Basu
d6cbe7ad6e working 1 2024-09-27 18:14:28 +05:30
Puskar Basu
9e713885e9 building 2024-09-27 18:14:28 +05:30
kai
dde7c23ed5 rename Connection to SteampipeConnection
remove unneeded code
use CloudMetadata from pipe-fittings
2024-09-27 18:14:28 +05:30
kai
6efd1fd6b2 query display and query result moved to pipe fittings 2024-09-27 18:14:28 +05:30
kai
cb681c67cc compiles but needs testing 2024-09-27 18:14:28 +05:30
kai
cd07bf20f1 working on it 2024-09-27 18:13:12 +05:30
Puskar Basu
cb313fbabe Fix query error message to not include internal function name. Closes #4335 (#4337) 2024-08-13 15:23:35 +05:30
kaidaguerre
07782a2b13 Adds support for verbose timing information. Closes #4237. Closes #4244
- JSON output format has changed to move the rows to under a `rows` property, with timing information under the `metadata` property
- Update timing display to show rows returned and rows fetched, as well as adding verbose mode which lists all scans
- Use enums for output mode and timing mode - timing is now either `on`, `off` or `verbose`
- Bugfix: ensure error is returned from ExecuteSystemClientCall. Closes #4246
2024-04-17 10:12:17 +01:00
Binaek Sarkar
085e933ddf Maintain the order of execution when running multiple queries in batch mode. Closes #3728 2024-01-02 11:52:16 +00:00
kaidaguerre
40804a3201 Execute RefreshConnections asyncronously and optimise for high connection count. Add connection_state table.
- Execute RefreshConnections asyncronously
- Add connection_state table to indicate the loading state of connections
- Optimise RefreshConnections by cloning connection schemas
- Add locking to ensure only a single instance of RefreshConnections runs
- Start executing queries without waiting for connections to load, add smart error handling to wait for required connection
- Optimise autocomplete for high connection count
- Autocomplete and inspect data available before all conections are refreshed
- Update file watcher to respond to CHMOD, so thaat it pickes up deletion of file contents

 Closes #3394
 Closes #3267
2023-05-10 09:05:08 +01:00
Puskar Basu
18a2f65b41 Refactor display configuration options code. 2023-04-17 11:06:07 +01:00
kaidaguerre
df9c3a253a Optimize RefreshConnections by cloning schemas where possible. Optimize plugineManager.Get when retrieving multiple connections from same plugin. Closes #3236 2023-03-16 14:43:56 +00:00
Puskar Basu
6ee0183a63 Fix query batch mode returning zero exit code when rows return errors. Closes #3044 2023-02-03 11:36:21 +00:00
Puskar Basu
e4c50a9477 Ensure correct exit code is returned when a mod plugin requirements are not met. Closes #2986 2023-01-18 14:43:44 +00:00
Binaek Sarkar
056fa56241 Fixes issue where interactive prompt was not showing timing data for 'json', 'csv' and 'line' outputs. Closes #2699 2022-11-29 10:57:37 +00:00
kaidaguerre
fe6365b1ef Remove usage of prepared statements - instead excute sql directly. Wrap with executions in LeafRuns to support runtime dependency resolution. Closes #2789. #2772 2022-11-23 14:11:56 +00:00
kai
cbd6b18ef6 Steampipe query fails with nil pointer exception if query execution fails and result is being exported as snapshot. Closes #2692 2022-11-07 15:25:59 +00:00
kaidaguerre
0452bb0b81 Validate checkout output and export formats before execution. Closes #2619. Add support for using sps as snapshot output/export format. Closes #2623 2022-10-28 14:57:44 +01:00
kaidaguerre
ef845286c1 Add support for sharing snapshots. Add snapshot output and export format for query and check. Add ability to run named dashboards. #2473 2022-10-05 15:30:57 +01:00
kaidaguerre
404dd35e21 Update database code to use pgx interface so we can leverage the connection pool hook functions to pre-warm connections. Closes #2422 (#2438)
* Provide feedback for failed prepared statements
* Move error functions to error_helpers
* Make maintenance client retriable
2022-10-05 12:38:57 +01:00
Puskar Basu
8a5d1a97a4 Show timing info even if query returns an error. Closes #2331 2022-09-05 11:32:56 +01:00
Nathan Wallace
b89685ac2e Only add a blank line between query results, not after the final result closes #2333 2022-08-18 06:54:16 -04:00
kaidaguerre
5193c70395 Restructure steampipe repo to use pkg folder. Closes #2204 2022-06-27 11:36:03 +01:00