Commit Graph

76 Commits

Author SHA1 Message Date
Neil O'Toole
1b57138d72
More file closing (#376)
* file cleanup order
2024-01-28 07:58:46 -07:00
Neil O'Toole
26f274483c
Bug with filepath for remote file (#375)
* Address bug
2024-01-27 17:01:45 -07:00
Neil O'Toole
f8704d0385
lg functions now show correct call depth (#374)
* lg functions now show correct call depth

* fixed call depth reversed sign
2024-01-27 08:12:02 -07:00
Neil O'Toole
54be3d614b
Linting (#373)
* More linting
2024-01-27 06:43:17 -07:00
Neil O'Toole
7c56377b40
Struct alignment (#369)
* Field alignment
2024-01-27 00:11:24 -07:00
Neil O'Toole
d04cf1b1f3
Cleaned up progress package (#368) 2024-01-26 18:42:27 -07:00
Neil O'Toole
452a91547c
Better handling of download cache refresh (#366)
* A failed download cache refresh no longer destroys the previous cache.
2024-01-26 15:18:38 -07:00
Neil O'Toole
cf0908abfa
JSON ingest performance (#365)
* Implement json ingestion stmt caching
2024-01-25 09:21:56 -07:00
Neil O'Toole
2898a92983
Refactor sqlmodel pkg (#364)
* Refactor sqlmodel pkg
2024-01-25 00:42:51 -07:00
Neil O'Toole
bb4a4edaab
Switch downloads to use streamcache. (#361)
* Switch downloads to use neilotoole/streamcache.
2024-01-24 21:01:24 -07:00
Neil O'Toole
dc6c83c224
Misc ioz and loz funcs (#359) 2024-01-21 08:56:07 -07:00
Neil O'Toole
9aa45b1db3
More progress bars (#357)
* More progress bars
2024-01-14 20:56:54 -07:00
Neil O'Toole
db55986980
#307: Ingest cache (#354)
- Support for ingest cache, download cache, and progress bars.
2024-01-14 18:45:34 -07:00
Neil O'Toole
67a30d7129
Better detection of stdin input (#346) 2023-12-06 13:53:24 -07:00
Neil O'Toole
f0d83cda86
Implement SLQ having() (#339)
* Implemented SLQ having()
2023-11-22 10:56:19 -07:00
Neil O'Toole
51ccfa6976
kind detector now handles decimal.Decimal (#337) 2023-11-21 19:07:10 -07:00
Neil O'Toole
f85da722ad
#335 decimal type support (#336)
* Now using a dedicated `decimal.Decimal` type instead of float/string.
2023-11-21 14:49:52 -07:00
Neil O'Toole
79e1afd64f
SQL rownum() func (#332)
* Implemented SLQ rownum() func
2023-11-19 23:44:36 -07:00
Neil O'Toole
2de993acaa
Sort imports using goimports-reviser (#331) 2023-11-19 18:06:36 -07:00
Neil O'Toole
f07edef14d
Add flag --src.schema (#326)
* Support for --src.schema in commands "slq", "sql", and "inspect"
2023-11-18 17:05:48 -07:00
Neil O'Toole
6b613d9adc
#279: SQLite virtual tables (#304)
* sqlite: initial extensions support, including virtual tables and fts5
* sqlite: virtual table columns now report type
2023-08-21 10:05:17 -06:00
Neil O'Toole
db092d5453
CSV ingest improvements (#302)
* csv: additional datetime detect formats
2023-08-18 09:21:11 -06:00
Neil O'Toole
edc933d897
#200: Feature/200 excel driver (#301)
* Switch to excelize driver
2023-08-16 09:09:50 -06:00
Neil O'Toole
c7bba4dfe4
go1.21: changes to support slog as part of stdlib (#299)
* go1.21: changes to support slog as part of stdlib

* Removed accidentially checked-in line of code

* Fixed minor linting issues; reenable typecheck

* go1.21: switched to stdlib slices pkg
2023-08-12 12:54:14 -06:00
Neil O'Toole
21c1dea9c4
#200: Switch excel driver for output (#291)
* Switched from xlsxw to excelw for Excel outpt
2023-07-26 22:19:11 -06:00
Neil O'Toole
6ca26f4e4f
Column rename: template now has Alpha field. (#285)
* wip: refactor col name mungeing

* Finished refactoring FieldMeta

* Renamed tpl .AlphaIndex to .Alpha

* wip: debugging source config override

* Source config override passing tests

* CHANGELOG update
2023-07-08 19:34:53 -06:00
Neil O'Toole
9c5836ef1c
#191: XLSX driver auto-detects header row (#284)
* xlsx driver now detects header row.
2023-07-08 09:21:27 -06:00
Neil O'Toole
7396aadb9e
#12: multiple joins (#280)
* The query language now supports multiple joins.
2023-07-03 09:34:19 -06:00
Neil O'Toole
2ba633fc2a
#258: Alias can be an arbitrary string. (#259)
* Fixed space issues with expressions

* Alias can now be an arbitrary string

* Alias can now be an arbitrary string (fixed)

* Alias now automatically applied to expressions

* Ignore .run

* Fixed issue with TestRun not logging correctly to testing.T

* Fiddling with sqlite3 temp file closing

* Re-enable tests
2023-06-18 00:05:09 -06:00
Neil O'Toole
44d27207f8
#256: column-only queries (#257)
* Column-only queries
2023-06-17 19:28:11 -06:00
Neil O'Toole
e93f462fff
#254: explicit where() clause (#255)
Implement explicit `where()` clause.
2023-06-16 22:54:25 -06:00
Neil O'Toole
9cb42bf579
#244: shell completion for "sq add LOCATION" (#246)
- Shell completion for `sq add LOCATION`.
2023-06-13 10:06:18 -06:00
Neil O'Toole
3ecdde5595
record.Record elements are now values, not pointers (#243)
* Updated record pkg

* sqlite migrated

* postgres migrated

* All DBs migrated

* CSV working

* Tests passing
2023-05-27 07:57:07 -06:00
Neil O'Toole
c3a543aa84
#229: refactor mysql source metadata impl (#236)
* refactor mysql source metadata impl

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

* Refactor "cli" pkg.
2023-05-19 08:24:18 -06:00
Neil O'Toole
c5cf6c0cc0
#217: Configurable timestamp format (#218)
* Moved time functions from pkg stringz to pkg timez

* Refactor options.Opt

* wip: initial work on configurable time layout

* wip: most printers now respect format.datetime and friends

* Folded pkg timefmt into timez

* Refactor options.Opt; refine options

* Add 'sq config set OPTION --help' mechanism

* Finished completion of OptDateFormatAsNumber and OptTimeFormatAsNumber
2023-05-06 20:36:34 -06:00
Neil O'Toole
f0aa65791b
#199: More config/options work (#215)
* CHANGELOG text clarification

* Dialing in config/options

* Yet more dialing in of config/options

* Refactor output writers

* YAML output for more commands
2023-05-05 08:32:50 -06:00
Neil O'Toole
3180334c0c
#199: Config overhaul (#214)
* 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
4521008b72
#199: sq config set (#212)
* Initial impl of 'sq config set'

* Verbose output for 'sq config get'

* config/options: refining 'sq config get'

* Refine 'sq config get': now prints defaults when --verbose

* cli: 'sq config get option.key' implemented

* cli: initial impl of 'sq config get --src'

* cli: refine 'sq config get'

* cli: 'sq config set --src' is implemented
2023-04-30 21:59:34 -06:00
Neil O'Toole
e5db7990bc
#199: Kill RunContext.Log (#211)
* 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
5e31da4644
Refactor config options (#209)
* Refactor config and options.
2023-04-26 09:16:42 -06:00
Neil O'Toole
57cddd7590
Edit config (#208)
* cobra: Added 'sq config edit' cmd

* Linting

* Implemented 'sq config edit'

* whitespace

* Dialing in config cmd help
2023-04-22 16:31:28 -06:00
Neil O'Toole
a766340382
Pass context to config.Store (#207) 2023-04-22 07:37:07 -06:00
Neil O'Toole
81f631e135
Refactoring (#206)
* 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
98b47a2666
#199 - Config, refactoring (#204)
* refactor: moved cli flags to pkg cli/flag

* testh: add OptLongDB for long-running tests

* implement 'sq config dir'

* legacy dir migration: probably a bad idea

* cleanup

* Refactored SQ_CONFIG and --config

* added yaml writer

* Dialing in tests

* YAML output for 'sq driver ls'

* Significant refactoring of config

* Minor test for ioz

* Rename source.Set to source.Collection

* Cleaning up references to source.Set
2023-04-18 23:28:09 -06:00
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
Neil O'Toole
ad23d5c116
Auto-detect CSV headers (#188)
* 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. (#186)
* wip: deal with lots of connections

* Clean up TestDatabase_SourceMetadata_concurrent

* Fixed error message
2023-04-08 12:09:27 -06:00