Commit Graph

45 Commits

Author SHA1 Message Date
Neil O'Toole
9cb42bf579
: shell completion for "sq add LOCATION" ()
- Shell completion for `sq add LOCATION`.
2023-06-13 10:06:18 -06:00
Neil O'Toole
c810d17eec
: sq diff ready for beta release ()
* sq config edit: fixed glaring bug that prevented editing a source

* Refine sq diff
2023-05-25 21:58:43 -06:00
Neil O'Toole
c3a543aa84
: refactor mysql source metadata impl ()
* refactor mysql source metadata impl

* Made loop condition stronger
2023-05-23 18:42:36 -06:00
Neil O'Toole
2f2dfd6e47
: More diff ()
- Implement `sq diff --data`.
2023-05-22 09:08:14 -06:00
Neil O'Toole
1ea24dac4a
: sq diff core ()
* "sq diff" initial implementation

* Refactor "cli" pkg.
2023-05-19 08:24:18 -06:00
Neil O'Toole
3180334c0c
: Config overhaul ()
* refactor: partially moved over driver.Tuning params to options

* All knobs moved to options

* sq config edit: now has comments for options

* Major work complete on config/options overhaul

* Major work complete on config/options overhaul

* Updated help text for 'sq version'
2023-05-03 06:36:10 -06:00
Neil O'Toole
e5db7990bc
: Kill RunContext.Log ()
* refactor: RunContext.Log is dead

* Fiddling with options

* Changed default max conns to zero (no limit)

* Linting
2023-04-30 08:18:56 -06:00
Neil O'Toole
81f631e135
Refactoring ()
* Renamed source.Type to source.DriverType for clarity

* More renaming wrt source.DriverType

* Renamed output.Formatting to output.Printing
2023-04-21 21:36:32 -06:00
Neil O'Toole
ad23d5c116
Auto-detect CSV headers ()
* wip: initial header detection

* wip: refactored csv driver

* wip: Fixes to kind.Detector

* typo

* Refactor pkg csv files

* Update to changelog

* workflow: now running codacy and codeql on cron, not on push/pr
2023-04-09 08:44:27 -06:00
Neil O'Toole
54a0155ed6
Deal with lots of connections, especially for sq inspect. ()
* 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 ()
- 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
791d41ad1d
Removed dependencies on neilotoole/errgroup in favor of sync/errgroup ()
* Removed dependencies on neilotoole/errgroup in favor of sync/errgroup

* Removed deadcode
2023-04-02 15:17:15 -06:00
Neil O'Toole
3f6157c4c4
Change logging library to slog ()
- Switch to slog logger.
2023-04-02 13:49:45 -06:00
Neil O'Toole
8d47ef806d
go1.20 upgrade; lots of linting () 2023-04-01 02:38:32 -06:00
Neil O'Toole
29e33ed2b1
Implement unique / DISTINCT ()
- Implemented "unique" function
- Implemented "count_unique" function
2023-03-28 00:48:24 -06:00
Neil O'Toole
9746f4c1a2
orderby() ()
* 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. ()
* 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
d3e6f89829
SLQ support for column aliases ()
* 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
fab365f43c
gofumpt on files ()
* gofumpt on files

* more gofumpt
2022-12-18 01:35:59 -07:00
Neil O'Toole
c778c8ced5
Linting of _test.go files ()
* 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 ()
* 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 ()
* 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
08dfa10325
Errors linting ()
* errors linting

* errors linting

* formatting
2022-12-17 21:31:06 -07:00
Neil O'Toole
540adfac58
Lint long lines ()
* 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 ()
* wip: bunch o' linting

* bunch more linting
2022-12-17 17:51:33 -07:00
Neil O'Toole
5187e8000a
bunch of linting issues fixed () 2022-12-17 16:11:33 -07:00
Neil O'Toole
6a0878bc6b
fixed broken mysql tests (parseTime param); moved some test funcs to pkg tutil () 2022-12-16 19:09:49 -07:00
Neil O'Toole
e674cdc724
change 'interface{}' to 'any' () 2022-12-16 16:34:33 -07:00
Neil O'Toole
a419e0b693
Misc cleanup, goimports, updates ()
* 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
d8ecff4234
drivers/mysql linting () 2021-03-13 10:41:15 -07:00
Neil O'Toole
2d843c9550
MySQL DSN no longer strips driver options ()
* MySQL DSN no longer strips driver options
Fixes 

* CHANGELOG update
2021-03-13 10:08:53 -07:00
Neil O'Toole
6870327508
Cobra upgrade: includes shell completion work ()
Addressed 
2021-02-22 00:37:00 -07:00
Neil O'Toole
71a4f78e52
--insert now also creates the table () 2021-01-03 19:56:22 -07:00
Neil O'Toole
1818d50546
moved pkg libsq/sqlmodel to libsq/core/sqlmodel () 2020-08-23 13:00:13 -06:00
Neil O'Toole
38be39a12f yet more pkg moving 2020-08-23 05:52:09 -06:00
Neil O'Toole
58ccfc9ded
Json driver; refactoring of core packages ()
* Type Detector refactor

* json driver impl; refactoring of source.Files reader et al

* working on kind detector

* significant switcheroo of packages

* partway throught refactoring Kind

* major package switcheroo for Kind
2020-08-23 04:42:15 -06:00
Neil O'Toole
b3667d60cd
implementing SQLDriver.AlterTableAddColumn () 2020-08-20 21:08:59 -06:00
Neil O'Toole
9746f726f6
fixing issues with inspect/metadata () 2020-08-20 14:19:16 -06:00
Neil O'Toole
929b81c6d3
MySQL "inspect" performance ()
* mysql inspect performance

* tidying up mysql metadata
2020-08-18 13:13:25 -06:00
Neil O'Toole
65259754f5
Improvements to metadata (sq inspect) ()
* improvements to sqlite source metadata query

* table metadatawriter colorization tuning; minor testh.Helper refactoring

* cleanup of metadata for multiple drivers

* more cleanup of source/table metadata

* yet more cleanup of source/table metadata

* improvements to mysql SourceMetadata

* improvements to mysql TableMetadata

* yet more fiddling with mysql metadata
2020-08-15 15:06:40 -06:00
Neil O'Toole
f00c1f2307
renamed driver.Driver impls from mysql.Driver to mysql.driveri etc () 2020-08-12 21:40:03 -06:00
Neil O'Toole
1ceb50e795
SQL batch insert ()
* initial refactoring for the numRows param

* work on driver.NewBatchInsert

* work on NewBatchInsert

* batch insert seems to work

* switched testh.Insert to use BatchInsert

* doc cleanup

* batch insert for dbwriter and csv

* removed unneeded NumRows from driver.StmtExecer

* minor tidyup
2020-08-12 12:24:01 -06:00
Neil O'Toole
3e10868a29
Switched pkg sakila "const" slices to functions ()
* replaced sakila source slices with funcs

* missed some pkg sakila slices to refactor
2020-08-10 09:16:44 -06:00
Neil O'Toole
8b1bd4c03a
replaced sakila source slices with funcs () 2020-08-09 08:40:46 -06:00
Neil O'Toole
fd4ae53f31 codebase refactor 2020-08-06 11:58:47 -06:00