slyce 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +33 -2
- data/bin/slyce +4 -4
- data/bin/slyced +4 -4
- data/slyce.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e72a59210f1f21f2bbc06e074286c16fe8d2482ef6ca880282d37b043e8e0218
|
4
|
+
data.tar.gz: feebfbf2c252cd8f0ed52825db7da5caf585242ae6d3d54af3da9fec7ad5f4e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2048384fee8c32a7e71f6d6ab6ee1e7155166dd293942c01eef432415f97504f8c98ed06d922fbe6f731c5c3e1bd7a819f51f5e4745124260f512d076041cdd4
|
7
|
+
data.tar.gz: 87672286c289db6595f8395fdee61b4f438729bf090c8667f715cf67b6025823302a4202c714f3ea54ce298f76d0263b0423d2b497f8e78e8153fefe55281f63
|
data/README.md
CHANGED
@@ -2,17 +2,48 @@
|
|
2
2
|
|
3
3
|
Ruby utility to show summary statistics or export data from MySQL, SQLite, or DuckDB.
|
4
4
|
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
```
|
8
|
+
usage: slyce [options] <database> <table>
|
9
|
+
--csv Output comma separated values
|
10
|
+
--psv Output pipe separated values
|
11
|
+
--tsv Output tab separated values
|
12
|
+
-a, --ascii Convert data to ASCII using AnyAscii
|
13
|
+
-c, --columns Display column names and quit
|
14
|
+
-h, --help Show help and command usage
|
15
|
+
-n, --natural Sort naturally, not numerically
|
16
|
+
-r, --rows <count> Rows of data to select
|
17
|
+
-s, --suppress Suppress header when exporting delimited files
|
18
|
+
-v, --version Show version number
|
19
|
+
-w, --where <cond> Where clause (eg - 'age>50 and state='AZ')
|
20
|
+
-x, --extract <col1,col2,...> Comma separated list of columns to extract
|
21
|
+
```
|
22
|
+
|
5
23
|
## Supported platforms
|
6
24
|
|
7
25
|
### MySQL
|
8
26
|
|
27
|
+
The executable is called `slyce`.
|
28
|
+
|
9
29
|
### SQLite
|
10
30
|
|
31
|
+
The executable is called `slyce3` and requires the `regexp` sqlite3 extension from https://github.com/nalgeon/sqlean
|
32
|
+
|
33
|
+
You can download the latest version at: https://github.com/nalgeon/sqlean/releases/latest
|
34
|
+
|
35
|
+
For example, on Apple Silicon with macOS with an M1 you can use:
|
36
|
+
|
37
|
+
```
|
38
|
+
wget https://github.com/nalgeon/sqlean/releases/download/0.19.3/sqlean-macos-arm64.zip
|
39
|
+
unzip sqlean-macos-arm64.zip regexp.dylib
|
40
|
+
```
|
41
|
+
|
11
42
|
### DuckDB
|
12
43
|
|
13
|
-
|
44
|
+
The executable is called `slyced`. It requires the `duckdb` gem, which can be installed with:
|
14
45
|
|
15
|
-
|
46
|
+
```gem install duckdb```
|
16
47
|
|
17
48
|
## Example
|
18
49
|
|
data/bin/slyce
CHANGED
@@ -11,7 +11,7 @@ dbas = nil
|
|
11
11
|
tabl = nil
|
12
12
|
|
13
13
|
OptionParser.new.instance_eval do
|
14
|
-
@version = "1.2.
|
14
|
+
@version = "1.2.3"
|
15
15
|
@banner = "usage: #{program_name} [options] <database> <table>"
|
16
16
|
|
17
17
|
on "--csv" , "Output comma separated values"
|
@@ -21,7 +21,7 @@ OptionParser.new.instance_eval do
|
|
21
21
|
on "-c", "--columns" , "Display column names and quit"
|
22
22
|
on "-h", "--help" , "Show help and command usage" do Kernel.abort to_s; end
|
23
23
|
on "-n", "--natural" , "Sort naturally, not numerically"
|
24
|
-
on "-r", "--rows <count>" , "Rows of data to
|
24
|
+
on "-r", "--rows <count>" , "Rows of data to show", Integer
|
25
25
|
on "-s", "--suppress" , "Suppress header when exporting delimited files"
|
26
26
|
on "-v", "--version" , "Show version number" do Kernel.abort "#{program_name} #{@version}"; end
|
27
27
|
on "-w", "--where <cond>" , "Where clause (eg - 'age>50 and state='AZ')"
|
@@ -52,9 +52,9 @@ tabl ||= ARGV.shift or abort "no table given"
|
|
52
52
|
class Mysql2::Client
|
53
53
|
alias_method :sql, :query
|
54
54
|
|
55
|
-
def sql!(stmt, *args,
|
55
|
+
def sql!(stmt, *args, **opts, &block)
|
56
56
|
puts "\n==[ SQL statement ]==\n\n", stmt.strip, ";"
|
57
|
-
sql(stmt, *args,
|
57
|
+
sql(stmt, *args, **opts, &block)
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
data/bin/slyced
CHANGED
@@ -11,7 +11,7 @@ dbas = nil
|
|
11
11
|
tabl = nil
|
12
12
|
|
13
13
|
OptionParser.new.instance_eval do
|
14
|
-
@version = "1.2.
|
14
|
+
@version = "1.2.3"
|
15
15
|
@banner = "usage: #{program_name} [options] <database> <table>"
|
16
16
|
|
17
17
|
on "--csv" , "Output comma separated values"
|
@@ -21,7 +21,7 @@ OptionParser.new.instance_eval do
|
|
21
21
|
on "-c", "--columns" , "Display column names and quit"
|
22
22
|
on "-h", "--help" , "Show help and command usage" do Kernel.abort to_s; end
|
23
23
|
on "-n", "--natural" , "Sort naturally, not numerically"
|
24
|
-
on "-r", "--rows <count>" , "Rows of data to
|
24
|
+
on "-r", "--rows <count>" , "Rows of data to show", Integer
|
25
25
|
on "-s", "--suppress" , "Suppress header when exporting delimited files"
|
26
26
|
on "-v", "--version" , "Show version number" do Kernel.abort "#{program_name} #{@version}"; end
|
27
27
|
on "-w", "--where <cond>" , "Where clause (eg - 'age>50 and state='AZ')"
|
@@ -52,9 +52,9 @@ tabl ||= ARGV.shift or abort "no table given"
|
|
52
52
|
class DuckDB::Connection
|
53
53
|
alias_method :sql, :query
|
54
54
|
|
55
|
-
def sql!(stmt, *args,
|
55
|
+
def sql!(stmt, *args, **opts, &block)
|
56
56
|
puts "\n==[ SQL statement ]==\n\n", stmt.strip, ";"
|
57
|
-
sql(stmt, *args,
|
57
|
+
sql(stmt, *args, **opts, &block)
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
data/slyce.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.files = `git ls-files`.split("\n") - %w[.gitignore]
|
13
13
|
s.executables = `cd bin && git ls-files .`.split("\n")
|
14
14
|
s.add_runtime_dependency "any_ascii", "~> 0.3.2"
|
15
|
-
s.add_runtime_dependency "duckdb", "~> 0.
|
15
|
+
s.add_runtime_dependency "duckdb", "~> 0.8.0"
|
16
16
|
s.add_runtime_dependency "extralite-bundle", "~> 1.25"
|
17
17
|
s.add_runtime_dependency "mysql2", "~> 0.5"
|
18
18
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slyce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Shreeve
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: any_ascii
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.8.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.8.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: extralite-bundle
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
|
-
rubygems_version: 3.
|
104
|
+
rubygems_version: 3.2.33
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: Ruby utility to show data statistics for MySQL databases
|