Commit Graph

74 Commits

Author SHA1 Message Date
Neil O'Toole
958d509088
Source groups (#198)
* Implemented source groups mechanism.
2023-04-15 16:28:51 -06:00
Neil O'Toole
ebb88b3a44
CSV empty string now treated as NULL (#190) 2023-04-09 19:29:13 -06:00
neilotoole
150dfc01a9 Fixed some tests that had neglected to drop tables they had created 2023-04-08 14:58:10 -06:00
neilotoole
8f0d8d0874 Use --md instead of --markdown 2023-04-08 13:19:06 -06:00
Neil O'Toole
54a0155ed6
Deal with lots of connections, especially for sq inspect. (#186)
* wip: deal with lots of connections

* Clean up TestDatabase_SourceMetadata_concurrent

* Fixed error message
2023-04-08 12:09:27 -06:00
Neil O'Toole
9a1c6a7d09
Feature/173 args (#183)
- Implement --arg feature
- Refactor sqlbuilder package (now called "render").
- Bug fixes, especially around expressions.
2023-04-07 02:00:49 -06:00
Neil O'Toole
3f6157c4c4
Change logging library to slog (#175)
- Switch to slog logger.
2023-04-02 13:49:45 -06:00
Neil O'Toole
bfd5542f75
Refactor/introduce query context (#174)
* Moved query_X_test.go from /drivers to /libsq

* Refactor: introduced libsq.QueryContext type
2023-04-01 03:48:24 -06:00
Neil O'Toole
8d47ef806d
go1.20 upgrade; lots of linting (#172) 2023-04-01 02:38:32 -06:00
Neil O'Toole
9746f4c1a2
orderby() (#159)
* wip: orderby impl

* Tests passing (note: ast.checkASTIntegrity is disabled)

* ExprNode now rendered via renderSelectorNode

* linting

* CHAGELOG for v0.27.0
2023-03-25 19:20:53 -06:00
Neil O'Toole
a1a89ee9dd
Support table and column names with spaces. (#156)
* sakila: initial test data

* sakila: more test data

* sakila: yet more test data setup

* whitespace cols: now working for sqlite

* grammar cleanup

* whitespace cols: now working inside count() func for sqlite

* whitespace cols: tests mostly passing; begining refactoring

* grammar: refactor handle

* grammar: more refactoring

* grammar: rename selElement to selector

* wip

* all tests passing

* all tests passing

* linting

* driver: implement CurrentSchema for all driver.SQLDriver impls

* driver: tests for AlterTableRename and AlterTableRenameColumn

* undo reformat of SQL

* undo reformat of SQL

* undo reformat of SQL

* undo reformat of SQL
2023-03-22 00:17:34 -06:00
Neil O'Toole
db189e55a7
Bug/153 text table long lines (#154)
* text table: fixed long lines padding

* text table: fixed long lines padding
2023-03-19 01:51:05 -06:00
Neil O'Toole
89ba5a04f6
Feature/151 sq add active (#152)
* sq add: Now with --active flag

* sq add: Add test for shorthand -a flag

* sq add: docs update
2023-03-19 00:18:54 -06:00
Neil O'Toole
d3e6f89829
SLQ support for column aliases (#150)
* alias: more early work

* alias: test cases working for sqlite

* alias: SQL builder tests

* alias: func (col expr) aliases now working for SQLite

* linting

* CHANGELOG update

* Docs update

* Docs update

* Rename buildAst() -> buildAST()

* CHANGELOG typo
2023-03-18 22:58:00 -06:00
Neil O'Toole
161d6f9ee7
Fix to docs for cmd_sql (#148) 2023-03-15 01:43:48 -06:00
Neil O'Toole
143d2a1101
Bug/no active source (#145)
* Clean up misc text

* config: will repair itself if active source is corrupted

* Clean up error handling code

* CHANGELOG update

* Update config tests to allow invalid active source
2023-03-11 21:21:05 -07:00
neilotoole
b227dd7112 docs updates 2023-03-11 20:25:19 -07:00
Neil O'Toole
82dfd1c703
PIng command json output (#141)
* cmd_ping now respects --json

* ctrl-c doesn't print the cancel message for sq ping

* changelog update
2022-12-31 23:00:07 -07:00
Neil O'Toole
5d799a8820
Bug/windows file slash munge location (#140)
* Munge windows file location

* Windows filepath fix

* More Windows filepath issues

* Main workflow runs on matrix each time
2022-12-31 22:35:33 -07:00
Neil O'Toole
ed9aa38a67
Improvements to source commands (#139)
* Expose source.Set.Data() method

* jsonw.writeJSON cleaned up

* sq add now respects --json

* Location strings are subject to more scrutiny

* Ignore .db files in project dir

* sq add is more restrictive about location string

* source.RedactedLocation now uses 'xxxxx' per stdlib url.URL.Redacted()

* Update changelog for v0.23.0

* typos
2022-12-31 20:17:44 -07:00
neilotoole
23000ef0ee Adjustment to sq version output 2022-12-30 10:59:27 -07:00
neilotoole
3672f28f72 Linting 2022-12-30 10:38:49 -07:00
neilotoole
433d83d5b2 linting 2022-12-30 10:28:01 -07:00
neilotoole
19aa8c76ff More error checking in cmd_version 2022-12-30 10:25:45 -07:00
Neil O'Toole
66a8c39844
Improvements to 'sq version' command (#137) 2022-12-30 10:10:56 -07:00
Neil O'Toole
d9693bde17
Feature/manpages (#136)
* manpage support

* Polish up man work

* Set DisableAutoGenTag=true for all commands

* Set DisableAutoGenTag=true for root cmd

* CHANGELOG
2022-12-29 19:02:10 -07:00
neilotoole
70e650ef87 linting 2022-12-24 21:09:20 -07:00
Neil O'Toole
a1ba6578da
"add" command supports hiding password input (#132)
* renamed cmdFlagChanged to flagChanged

* initial stdin stuff working

* wip: mostly working as expected

* Docs and lots of cleanup

* Mostly docs

* fixed behavior of source.LocationWithPassword, and tests
2022-12-24 21:04:18 -07:00
Neil O'Toole
fff01a32db
Chore/yet more mod upgrades (#128)
* gopkg.in/yaml.v3 upgrade

* emirpasic/gods@v1.18.1

* yet more module stuff
2022-12-23 14:05:24 -07:00
Neil O'Toole
97da9a53a3
'__complete sql @offline_handle' no longer errors, but instead returns the handle (#124)
* '__complete sql @offline_handle' no longer errors, but instead returns the handle

* docs update
2022-12-23 09:32:07 -07:00
Neil O'Toole
fab365f43c
gofumpt on files (#122)
* gofumpt on files

* more gofumpt
2022-12-18 01:35:59 -07:00
Neil O'Toole
c778c8ced5
Linting of _test.go files (#121)
* test linting

* test linting

* test linting

* test linting
2022-12-18 00:18:35 -07:00
Neil O'Toole
f9c19785e3
Almost at the end of the linting road (#120)
* yet more linting

* yet more linting

* yet more linting

* yet more linting

* yet more linting

* yet more linting

* yet more linting

* yet more linting
2022-12-17 23:42:11 -07:00
Neil O'Toole
425702e7ba
The linting goes on forever (#119)
* linting

* yet more linting

* yet more linting

* yet more linting

* yet more linting

* yet more linting
2022-12-17 23:07:38 -07:00
Neil O'Toole
ac7535609d
Yet more linting (#118)
* lint fixes

* lint gosec
2022-12-17 22:16:10 -07:00
Neil O'Toole
08dfa10325
Errors linting (#117)
* errors linting

* errors linting

* formatting
2022-12-17 21:31:06 -07:00
Neil O'Toole
85b8879324
got rid of dead notify package (#116) 2022-12-17 20:05:46 -07:00
Neil O'Toole
540adfac58
Lint long lines (#115)
* lint config now sorts results

* linted long lines

* linted long lines
2022-12-17 19:43:53 -07:00
Neil O'Toole
2831211ae9
Yet more linting (#114)
* wip: bunch o' linting

* bunch more linting
2022-12-17 17:51:33 -07:00
Neil O'Toole
5187e8000a
bunch of linting issues fixed (#113) 2022-12-17 16:11:33 -07:00
Neil O'Toole
27b70731e9
cobra upgrade; help output now the same for 'sq help' and 'sq --help' (#112) 2022-12-16 21:59:42 -07:00
Neil O'Toole
703f6d2427
Refactored verbose/header flags; inspect cmd now less verbose by default (#111)
* Refactored verbose/header flags; inspect cmd now less verbose by default

* Updated changelog

* README update
2022-12-16 20:46:37 -07:00
Neil O'Toole
6a0878bc6b
fixed broken mysql tests (parseTime param); moved some test funcs to pkg tutil (#109) 2022-12-16 19:09:49 -07:00
Neil O'Toole
e674cdc724
change 'interface{}' to 'any' (#108) 2022-12-16 16:34:33 -07:00
Neil O'Toole
a419e0b693
Misc cleanup, goimports, updates (#107)
* debugging

* generic retry functionality; some additions to stringz.go

* fiddling with magefile_sakila

* added test lock function testh.Lock

* bunch of linting, goimports, what not
2022-12-16 15:54:09 -07:00
Neil O'Toole
23022f2b7f
Go1.19 compatibility (#104)
* upgraded mattn/go-isatty version because it was importing a incompatible version of golang.org/x/sys/unix

* changed parsing of SQL Server DSN due to changes to url.ParseQuery no longer accepting semicolon

* updated xo/dburl pkg to v0.11.0

* removed dead underscore assignment

* updated GH workflow go action to 1.19
2022-08-08 13:14:42 -06:00
Neil O'Toole
b06b631e76
Bug #87: generated SQL should always quote table and column names in join statement (#89)
* BaseFragmentBuilder now quotes table and col names for joins

* Refactored libsq.engine so that the SQL generated from SLQ input can be tested

* Deleted dead code; additional comments
2021-03-07 23:27:35 -07:00
Neil O'Toole
f1335c4a30
Cmd ping to use --all flag instead of arg (#83)
* cmd ping now uses --all flag instead of arg
2021-02-27 07:44:08 -07:00
Neil O'Toole
6870327508
Cobra upgrade: includes shell completion work (#81)
Addressed #80
2021-02-22 00:37:00 -07:00
Neil O'Toole
a1cfd5d525
Xlsx import handle empty sheets (#79)
* can now import XLSX with empty sheets

* renamed XLSX test article
2021-02-19 23:22:35 -07:00