mysql_genius-core 0.4.0
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 +7 -0
- data/CHANGELOG.md +21 -0
- data/lib/mysql_genius/core/ai/client.rb +99 -0
- data/lib/mysql_genius/core/ai/config.rb +43 -0
- data/lib/mysql_genius/core/ai/optimization.rb +81 -0
- data/lib/mysql_genius/core/ai/suggestion.rb +76 -0
- data/lib/mysql_genius/core/analysis/duplicate_indexes.rb +83 -0
- data/lib/mysql_genius/core/analysis/query_stats.rb +103 -0
- data/lib/mysql_genius/core/analysis/server_overview.rb +124 -0
- data/lib/mysql_genius/core/analysis/table_sizes.rb +66 -0
- data/lib/mysql_genius/core/analysis/unused_indexes.rb +57 -0
- data/lib/mysql_genius/core/column_definition.rb +30 -0
- data/lib/mysql_genius/core/connection/fake_adapter.rb +110 -0
- data/lib/mysql_genius/core/connection.rb +36 -0
- data/lib/mysql_genius/core/execution_result.rb +27 -0
- data/lib/mysql_genius/core/index_definition.rb +23 -0
- data/lib/mysql_genius/core/query_explainer.rb +60 -0
- data/lib/mysql_genius/core/query_runner/config.rb +21 -0
- data/lib/mysql_genius/core/query_runner.rb +94 -0
- data/lib/mysql_genius/core/result.rb +43 -0
- data/lib/mysql_genius/core/server_info.rb +33 -0
- data/lib/mysql_genius/core/sql_validator.rb +59 -0
- data/lib/mysql_genius/core/version.rb +7 -0
- data/lib/mysql_genius/core.rb +35 -0
- data/mysql_genius-core.gemspec +34 -0
- metadata +73 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "mysql_genius/core/version"
|
|
4
|
+
|
|
5
|
+
module MysqlGenius
|
|
6
|
+
# The Rails-free core library. Consumed by both the `mysql_genius` Rails
|
|
7
|
+
# adapter gem and (from Phase 2 onward) the `mysql_genius-desktop` gem.
|
|
8
|
+
#
|
|
9
|
+
# See `docs/superpowers/specs/2026-04-10-desktop-app-design.md` for the
|
|
10
|
+
# overall design.
|
|
11
|
+
module Core
|
|
12
|
+
class Error < StandardError; end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
require "mysql_genius/core/result"
|
|
17
|
+
require "mysql_genius/core/server_info"
|
|
18
|
+
require "mysql_genius/core/column_definition"
|
|
19
|
+
require "mysql_genius/core/index_definition"
|
|
20
|
+
require "mysql_genius/core/sql_validator"
|
|
21
|
+
require "mysql_genius/core/connection"
|
|
22
|
+
require "mysql_genius/core/connection/fake_adapter"
|
|
23
|
+
require "mysql_genius/core/ai/config"
|
|
24
|
+
require "mysql_genius/core/ai/client"
|
|
25
|
+
require "mysql_genius/core/ai/suggestion"
|
|
26
|
+
require "mysql_genius/core/ai/optimization"
|
|
27
|
+
require "mysql_genius/core/analysis/table_sizes"
|
|
28
|
+
require "mysql_genius/core/analysis/duplicate_indexes"
|
|
29
|
+
require "mysql_genius/core/analysis/query_stats"
|
|
30
|
+
require "mysql_genius/core/analysis/unused_indexes"
|
|
31
|
+
require "mysql_genius/core/analysis/server_overview"
|
|
32
|
+
require "mysql_genius/core/execution_result"
|
|
33
|
+
require "mysql_genius/core/query_runner/config"
|
|
34
|
+
require "mysql_genius/core/query_runner"
|
|
35
|
+
require "mysql_genius/core/query_explainer"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
+
require "mysql_genius/core/version"
|
|
6
|
+
|
|
7
|
+
Gem::Specification.new do |spec|
|
|
8
|
+
spec.name = "mysql_genius-core"
|
|
9
|
+
spec.version = MysqlGenius::Core::VERSION
|
|
10
|
+
spec.authors = ["Antarr Byrd"]
|
|
11
|
+
spec.email = ["antarr.t.byrd@uth.tmc.edu"]
|
|
12
|
+
|
|
13
|
+
spec.summary = "Rails-free core library for MysqlGenius — validators, analyses, AI services."
|
|
14
|
+
spec.description = "Shared library used by the mysql_genius Rails engine and the mysql_genius-desktop " \
|
|
15
|
+
"standalone app. Contains the SQL validator, query runner, database analyses, and AI services, all of " \
|
|
16
|
+
"which take an explicit connection abstraction (no globals, no ActiveRecord dependency)."
|
|
17
|
+
spec.homepage = "https://github.com/antarr/mysql_genius"
|
|
18
|
+
spec.license = "MIT"
|
|
19
|
+
|
|
20
|
+
spec.required_ruby_version = ">= 2.7.0"
|
|
21
|
+
|
|
22
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
23
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
|
24
|
+
spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/gems/mysql_genius-core/CHANGELOG.md"
|
|
25
|
+
|
|
26
|
+
spec.files = Dir.chdir(__dir__) do
|
|
27
|
+
Dir.glob("lib/**/*.rb") + ["mysql_genius-core.gemspec", "CHANGELOG.md", "README.md"].select { |f| File.exist?(File.join(__dir__, f)) }
|
|
28
|
+
end
|
|
29
|
+
spec.require_paths = ["lib"]
|
|
30
|
+
|
|
31
|
+
# No runtime dependencies — core is intentionally stdlib-only.
|
|
32
|
+
# (trilogy is a Phase 2 addition for the desktop adapter; the Rails adapter
|
|
33
|
+
# brings its own ActiveRecord connection.)
|
|
34
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: mysql_genius-core
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.4.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Antarr Byrd
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-04-11 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: Shared library used by the mysql_genius Rails engine and the mysql_genius-desktop
|
|
14
|
+
standalone app. Contains the SQL validator, query runner, database analyses, and
|
|
15
|
+
AI services, all of which take an explicit connection abstraction (no globals, no
|
|
16
|
+
ActiveRecord dependency).
|
|
17
|
+
email:
|
|
18
|
+
- antarr.t.byrd@uth.tmc.edu
|
|
19
|
+
executables: []
|
|
20
|
+
extensions: []
|
|
21
|
+
extra_rdoc_files: []
|
|
22
|
+
files:
|
|
23
|
+
- CHANGELOG.md
|
|
24
|
+
- lib/mysql_genius/core.rb
|
|
25
|
+
- lib/mysql_genius/core/ai/client.rb
|
|
26
|
+
- lib/mysql_genius/core/ai/config.rb
|
|
27
|
+
- lib/mysql_genius/core/ai/optimization.rb
|
|
28
|
+
- lib/mysql_genius/core/ai/suggestion.rb
|
|
29
|
+
- lib/mysql_genius/core/analysis/duplicate_indexes.rb
|
|
30
|
+
- lib/mysql_genius/core/analysis/query_stats.rb
|
|
31
|
+
- lib/mysql_genius/core/analysis/server_overview.rb
|
|
32
|
+
- lib/mysql_genius/core/analysis/table_sizes.rb
|
|
33
|
+
- lib/mysql_genius/core/analysis/unused_indexes.rb
|
|
34
|
+
- lib/mysql_genius/core/column_definition.rb
|
|
35
|
+
- lib/mysql_genius/core/connection.rb
|
|
36
|
+
- lib/mysql_genius/core/connection/fake_adapter.rb
|
|
37
|
+
- lib/mysql_genius/core/execution_result.rb
|
|
38
|
+
- lib/mysql_genius/core/index_definition.rb
|
|
39
|
+
- lib/mysql_genius/core/query_explainer.rb
|
|
40
|
+
- lib/mysql_genius/core/query_runner.rb
|
|
41
|
+
- lib/mysql_genius/core/query_runner/config.rb
|
|
42
|
+
- lib/mysql_genius/core/result.rb
|
|
43
|
+
- lib/mysql_genius/core/server_info.rb
|
|
44
|
+
- lib/mysql_genius/core/sql_validator.rb
|
|
45
|
+
- lib/mysql_genius/core/version.rb
|
|
46
|
+
- mysql_genius-core.gemspec
|
|
47
|
+
homepage: https://github.com/antarr/mysql_genius
|
|
48
|
+
licenses:
|
|
49
|
+
- MIT
|
|
50
|
+
metadata:
|
|
51
|
+
homepage_uri: https://github.com/antarr/mysql_genius
|
|
52
|
+
source_code_uri: https://github.com/antarr/mysql_genius
|
|
53
|
+
changelog_uri: https://github.com/antarr/mysql_genius/blob/main/gems/mysql_genius-core/CHANGELOG.md
|
|
54
|
+
post_install_message:
|
|
55
|
+
rdoc_options: []
|
|
56
|
+
require_paths:
|
|
57
|
+
- lib
|
|
58
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
59
|
+
requirements:
|
|
60
|
+
- - ">="
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: 2.7.0
|
|
63
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0'
|
|
68
|
+
requirements: []
|
|
69
|
+
rubygems_version: 3.5.22
|
|
70
|
+
signing_key:
|
|
71
|
+
specification_version: 4
|
|
72
|
+
summary: Rails-free core library for MysqlGenius — validators, analyses, AI services.
|
|
73
|
+
test_files: []
|