smriti 0.5.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/LICENSE +21 -0
- data/README.md +168 -0
- data/Rakefile +15 -0
- data/app/assets/images/smriti/android-chrome-192x192.png +0 -0
- data/app/assets/images/smriti/android-chrome-512x512.png +0 -0
- data/app/assets/images/smriti/apple-touch-icon.png +0 -0
- data/app/assets/images/smriti/favicon-16x16.png +0 -0
- data/app/assets/images/smriti/favicon-32x32.png +0 -0
- data/app/assets/images/smriti/favicon-48x48.png +0 -0
- data/app/assets/images/smriti/favicon.ico +0 -0
- data/app/assets/images/smriti/favicon.svg +18 -0
- data/app/assets/images/smriti/logo.svg +18 -0
- data/app/assets/images/smriti/mask-icon.svg +5 -0
- data/app/assets/stylesheets/smriti/application.css +1040 -0
- data/app/controllers/smriti/admin/application_controller.rb +135 -0
- data/app/controllers/smriti/admin/dashboard_controller.rb +32 -0
- data/app/controllers/smriti/admin/mat_view_definitions_controller.rb +372 -0
- data/app/controllers/smriti/admin/mat_view_runs_controller.rb +185 -0
- data/app/controllers/smriti/admin/preferences_controller.rb +91 -0
- data/app/helpers/smriti/admin/datatable_helper.rb +249 -0
- data/app/helpers/smriti/admin/localized_digit_helper.rb +70 -0
- data/app/helpers/smriti/admin/ui_helper.rb +539 -0
- data/app/javascript/smriti/application.js +8 -0
- data/app/javascript/smriti/controllers/application.js +10 -0
- data/app/javascript/smriti/controllers/body_setup_controller.js +120 -0
- data/app/javascript/smriti/controllers/datatable_controller.js +351 -0
- data/app/javascript/smriti/controllers/details_controller.js +200 -0
- data/app/javascript/smriti/controllers/drawer_controller.js +470 -0
- data/app/javascript/smriti/controllers/flash_controller.js +112 -0
- data/app/javascript/smriti/controllers/index.js +10 -0
- data/app/javascript/smriti/controllers/mv_confirm_controller.js +435 -0
- data/app/javascript/smriti/controllers/tabs_controller.js +184 -0
- data/app/javascript/smriti/controllers/tooltip_controller.js +525 -0
- data/app/javascript/smriti/controllers/turbo_frame_lifecycle_controller.js +342 -0
- data/app/jobs/smriti/application_job.rb +144 -0
- data/app/jobs/smriti/create_view_job.rb +87 -0
- data/app/jobs/smriti/delete_view_job.rb +89 -0
- data/app/jobs/smriti/refresh_view_job.rb +94 -0
- data/app/models/concerns/smriti_i18n.rb +139 -0
- data/app/models/concerns/smriti_paginate.rb +70 -0
- data/app/models/concerns/smriti_query_helper.rb +36 -0
- data/app/models/smriti/application_record.rb +39 -0
- data/app/models/smriti/mat_view_definition.rb +254 -0
- data/app/models/smriti/mat_view_run.rb +275 -0
- data/app/views/layouts/smriti/_footer.html.erb +47 -0
- data/app/views/layouts/smriti/_header.html.erb +25 -0
- data/app/views/layouts/smriti/admin.html.erb +47 -0
- data/app/views/layouts/smriti/turbo_frame.html.erb +3 -0
- data/app/views/smriti/admin/dashboard/index.html.erb +38 -0
- data/app/views/smriti/admin/mat_view_definitions/_definition_actions.html.erb +94 -0
- data/app/views/smriti/admin/mat_view_definitions/_dt-index-empty-row.html.erb +11 -0
- data/app/views/smriti/admin/mat_view_definitions/_dt-index-row.html.erb +27 -0
- data/app/views/smriti/admin/mat_view_definitions/empty.html.erb +1 -0
- data/app/views/smriti/admin/mat_view_definitions/form.html.erb +79 -0
- data/app/views/smriti/admin/mat_view_definitions/index.html.erb +10 -0
- data/app/views/smriti/admin/mat_view_definitions/show.html.erb +40 -0
- data/app/views/smriti/admin/mat_view_runs/_dt-index-empty-row.html.erb +11 -0
- data/app/views/smriti/admin/mat_view_runs/_dt-index-row.html.erb +41 -0
- data/app/views/smriti/admin/mat_view_runs/index.html.erb +1 -0
- data/app/views/smriti/admin/mat_view_runs/show.html.erb +64 -0
- data/app/views/smriti/admin/preferences/show.html.erb +49 -0
- data/app/views/smriti/admin/ui/_card.html.erb +15 -0
- data/app/views/smriti/admin/ui/_datatable.html.erb +34 -0
- data/app/views/smriti/admin/ui/_datatable_filters.html.erb +45 -0
- data/app/views/smriti/admin/ui/_datatable_tbody.html.erb +11 -0
- data/app/views/smriti/admin/ui/_datatable_tfoot.html.erb +70 -0
- data/app/views/smriti/admin/ui/_datatable_thead.html.erb +105 -0
- data/app/views/smriti/admin/ui/_details.html.erb +10 -0
- data/app/views/smriti/admin/ui/_flash.html.erb +6 -0
- data/app/views/smriti/admin/ui/_table.html.erb +8 -0
- data/config/importmap.rb +9 -0
- data/config/locales/ar.yml +223 -0
- data/config/locales/de.yml +230 -0
- data/config/locales/en-AU-ocker.yml +223 -0
- data/config/locales/en-AU.yml +202 -0
- data/config/locales/en-BORK.yml +225 -0
- data/config/locales/en-CA.yml +223 -0
- data/config/locales/en-GB.yml +223 -0
- data/config/locales/en-LOL.yml +219 -0
- data/config/locales/en-SCOT.yml +223 -0
- data/config/locales/en-SHAKESPEARE.yml +225 -0
- data/config/locales/en-US-pirate.yml +222 -0
- data/config/locales/en-US.yml +225 -0
- data/config/locales/en-YODA.yml +221 -0
- data/config/locales/en.yml +223 -0
- data/config/locales/es.yml +226 -0
- data/config/locales/fa.yml +223 -0
- data/config/locales/fr-CA.yml +227 -0
- data/config/locales/fr.yml +227 -0
- data/config/locales/he.yml +218 -0
- data/config/locales/hi.yml +223 -0
- data/config/locales/it.yml +225 -0
- data/config/locales/ja-JP.yml +215 -0
- data/config/locales/pt.yml +225 -0
- data/config/locales/ru.yml +228 -0
- data/config/locales/ur.yml +225 -0
- data/config/locales/zh-CN.yml +214 -0
- data/config/locales/zh-TW.yml +214 -0
- data/config/routes.rb +36 -0
- data/lib/ext/exception.rb +20 -0
- data/lib/generators/smriti/install/install_generator.rb +86 -0
- data/lib/generators/smriti/install/templates/create_mat_view_definitions.rb +29 -0
- data/lib/generators/smriti/install/templates/create_mat_view_runs.rb +32 -0
- data/lib/generators/smriti/install/templates/smriti_initializer.rb +23 -0
- data/lib/smriti/admin/auth_bridge.rb +93 -0
- data/lib/smriti/admin/default_auth.rb +62 -0
- data/lib/smriti/configuration.rb +58 -0
- data/lib/smriti/engine.rb +82 -0
- data/lib/smriti/helpers/ui_test_ids.rb +49 -0
- data/lib/smriti/jobs/adapter.rb +81 -0
- data/lib/smriti/service_response.rb +75 -0
- data/lib/smriti/services/base_service.rb +471 -0
- data/lib/smriti/services/check_matview_exists.rb +76 -0
- data/lib/smriti/services/concurrent_refresh.rb +94 -0
- data/lib/smriti/services/create_view.rb +173 -0
- data/lib/smriti/services/delete_view.rb +111 -0
- data/lib/smriti/services/regular_refresh.rb +90 -0
- data/lib/smriti/services/swap_refresh.rb +181 -0
- data/lib/smriti/version.rb +21 -0
- data/lib/smriti.rb +64 -0
- data/lib/tasks/helpers.rb +185 -0
- data/lib/tasks/smriti_tasks.rake +151 -0
- metadata +206 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
en-GB:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: Created on
|
|
7
|
+
dependencies: Dependencies
|
|
8
|
+
last_run_at: Last run
|
|
9
|
+
name: Name
|
|
10
|
+
refresh_strategy: Refresh strategy
|
|
11
|
+
schedule_cron: Schedule (cron)
|
|
12
|
+
sql: SQL (SELECT ...)
|
|
13
|
+
unique_index_columns: Unique index columns
|
|
14
|
+
updated_at: Updated on
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: Created on
|
|
17
|
+
details: Details
|
|
18
|
+
duration_ms: Duration (ms)
|
|
19
|
+
error: Error
|
|
20
|
+
finished_at: Finished on
|
|
21
|
+
mat_view_definition: Definition
|
|
22
|
+
meta: Metadata
|
|
23
|
+
operation: Operation
|
|
24
|
+
row_count_after: Row count after
|
|
25
|
+
row_count_before: Row count before
|
|
26
|
+
rows_before_after: Rows (before/after)
|
|
27
|
+
started_at: Started on
|
|
28
|
+
status: Status
|
|
29
|
+
updated_at: Updated on
|
|
30
|
+
enums:
|
|
31
|
+
smriti/mat_view_definition:
|
|
32
|
+
refresh_strategy:
|
|
33
|
+
concurrent: Concurrent
|
|
34
|
+
regular: Regular
|
|
35
|
+
swap: Swap
|
|
36
|
+
smriti/mat_view_run:
|
|
37
|
+
operation:
|
|
38
|
+
create: Create
|
|
39
|
+
drop: Drop
|
|
40
|
+
refresh: Refresh
|
|
41
|
+
status:
|
|
42
|
+
failed: Failed
|
|
43
|
+
running: Running
|
|
44
|
+
success: Success
|
|
45
|
+
errors:
|
|
46
|
+
models:
|
|
47
|
+
smriti/mat_view_definition:
|
|
48
|
+
attributes:
|
|
49
|
+
name:
|
|
50
|
+
blank: must be provided
|
|
51
|
+
invalid: is not a valid PostgreSQL identifier
|
|
52
|
+
taken: must be unique
|
|
53
|
+
sql:
|
|
54
|
+
blank: must be provided
|
|
55
|
+
invalid: must start with SELECT
|
|
56
|
+
unique_index_columns:
|
|
57
|
+
at_least_one: must have at least one column when using the concurrent
|
|
58
|
+
refresh strategy
|
|
59
|
+
hints:
|
|
60
|
+
smriti/mat_view_definition:
|
|
61
|
+
dependencies: Comma-separated list of tables or views this materialised view
|
|
62
|
+
depends on.
|
|
63
|
+
name: Name of the materialised view in the database.
|
|
64
|
+
refresh_strategy: Determines how the materialised view is refreshed.
|
|
65
|
+
schedule_cron: Use standard cron format. Leave empty for no scheduling.
|
|
66
|
+
sql: The SQL query must be a valid SELECT statement.
|
|
67
|
+
unique_index_columns: Columns to create a unique index on. Required for concurrent
|
|
68
|
+
refresh.
|
|
69
|
+
smriti/mat_view_run:
|
|
70
|
+
error: Error message if the run failed.
|
|
71
|
+
meta: Additional metadata in JSON format.
|
|
72
|
+
operation: Type of operation performed.
|
|
73
|
+
status: Current status of the run.
|
|
74
|
+
models:
|
|
75
|
+
smriti/mat_view_definition: Materialised View Definition
|
|
76
|
+
smriti/mat_view_run: Materialised View Run
|
|
77
|
+
placeholders:
|
|
78
|
+
smriti/mat_view_definition:
|
|
79
|
+
dependencies: Enter dependencies (comma separated, optional)
|
|
80
|
+
name: Enter name
|
|
81
|
+
refresh_strategy: Select refresh strategy
|
|
82
|
+
schedule_cron: 0 0 * * * for daily at midnight, leave empty for no scheduling
|
|
83
|
+
sql: Enter SQL (SELECT ...)
|
|
84
|
+
unique_index_columns: Enter unique index columns (comma separated, optional)
|
|
85
|
+
smriti/mat_view_run:
|
|
86
|
+
error: Error message
|
|
87
|
+
mat_view_definition: Select materialised view
|
|
88
|
+
meta: Metadata (JSON)
|
|
89
|
+
operation: Select operation
|
|
90
|
+
status: Select status
|
|
91
|
+
i18n:
|
|
92
|
+
name: English (UK)
|
|
93
|
+
smriti:
|
|
94
|
+
actions: Actions
|
|
95
|
+
cancel: Cancel
|
|
96
|
+
close: Close
|
|
97
|
+
close_window: Close window
|
|
98
|
+
create: Create
|
|
99
|
+
dashboard:
|
|
100
|
+
metrics:
|
|
101
|
+
title: Metrics
|
|
102
|
+
title: Dashboard
|
|
103
|
+
datatable:
|
|
104
|
+
clear_search_aria_label: Clear search
|
|
105
|
+
search_aria_label: Search table
|
|
106
|
+
search_placeholder: Search...
|
|
107
|
+
definition: Definition
|
|
108
|
+
definitions: Definitions
|
|
109
|
+
delete: Delete
|
|
110
|
+
details: Details
|
|
111
|
+
edit: Edit
|
|
112
|
+
edit_var: Edit %{name}
|
|
113
|
+
errors:
|
|
114
|
+
frame_only: This action can only be performed in a frame, redirected to dashboard.
|
|
115
|
+
prevented_saving:
|
|
116
|
+
few: "%{count} errors prevented saving:"
|
|
117
|
+
many: "%{count} errors prevented saving:"
|
|
118
|
+
one: '1 error prevented saving:'
|
|
119
|
+
other: "%{count} errors prevented saving:"
|
|
120
|
+
two: '2 errors prevented saving:'
|
|
121
|
+
zero: No errors, all good!
|
|
122
|
+
filter_by: 'Filter by:'
|
|
123
|
+
footer:
|
|
124
|
+
copyright: "© %{year} %{company} All rights reserved."
|
|
125
|
+
documentation: Documentation
|
|
126
|
+
need_help: Need guaranteed uptime & expert help?
|
|
127
|
+
open_issue: Open an Issue
|
|
128
|
+
project_homepage: Project Homepage
|
|
129
|
+
support: Get Professional Support →
|
|
130
|
+
tagline: Built with ❤️ by developers, for developers.
|
|
131
|
+
tooltip:
|
|
132
|
+
documentation: Read the documentation
|
|
133
|
+
gem_version: Click to visit the RubyGems page
|
|
134
|
+
open_issue: Report a bug or request a feature
|
|
135
|
+
project_homepage: GitHub repository
|
|
136
|
+
support: Professional support plans
|
|
137
|
+
version: v%{version}
|
|
138
|
+
header:
|
|
139
|
+
signed_in_as: Signed in as %{email}
|
|
140
|
+
history: History
|
|
141
|
+
loading: Loading...
|
|
142
|
+
loading_definitions: Loading definitions...
|
|
143
|
+
loading_runs: Loading runs...
|
|
144
|
+
mat_view_definition:
|
|
145
|
+
create_mv: Create Smriti
|
|
146
|
+
create_mv_tooltip: Creates the materialised view in the database.
|
|
147
|
+
delete_confirm: Delete definition %{name}? (Does NOT drop Smriti)
|
|
148
|
+
delete_tooltip: Deletes the definition but does NOT drop the materialised view
|
|
149
|
+
in the database.
|
|
150
|
+
drop_mv: Drop Smriti
|
|
151
|
+
drop_mv_cascade: Drop Smriti (Cascade)
|
|
152
|
+
drop_mv_cascade_confirm: Drop the materialised view and all dependent objects
|
|
153
|
+
for %{name}?
|
|
154
|
+
drop_mv_cascade_tooltip: Drops the materialised view and all dependent objects
|
|
155
|
+
in the database. Definition remains.
|
|
156
|
+
drop_mv_confirm: Drop the materialised view for %{name}?
|
|
157
|
+
drop_mv_tooltip: Drops the materialised view in the database. Definition remains.
|
|
158
|
+
edit_tooltip: Edit materialised view definition.
|
|
159
|
+
materialized_view: Materialised View
|
|
160
|
+
materialized_view_exists: Materialised view exists
|
|
161
|
+
materialized_view_not_exists: Materialised view not created yet!
|
|
162
|
+
new_definition: New definition
|
|
163
|
+
new_definition_tooltip: Create a new materialised view definition.
|
|
164
|
+
no_definitions: No materialised view definitions found. Create one to get started.
|
|
165
|
+
no_definitions_if_filtered: No materialised view definitions found for the selected
|
|
166
|
+
filters and/or search.
|
|
167
|
+
refresh_tooltip: Refreshes the materialised view in the database.
|
|
168
|
+
sql_summary_tooltip: Click to expand/collapse SQL
|
|
169
|
+
view_tooltip: View materialised view definition.
|
|
170
|
+
mat_view_run:
|
|
171
|
+
error_tooltip: Error message if the run failed.
|
|
172
|
+
meta_tooltip: Additional metadata in JSON format.
|
|
173
|
+
no_runs: No runs found.
|
|
174
|
+
no_runs_if_filtered: No runs found for the selected filters.
|
|
175
|
+
view_details: View details
|
|
176
|
+
view_tooltip: View run details.
|
|
177
|
+
no_filter: Any (no filter)
|
|
178
|
+
no_value: No value (nil or empty)
|
|
179
|
+
per_page: Per page
|
|
180
|
+
project_author: CodeVedas Inc.
|
|
181
|
+
project_description: Admin interface for managing PostgreSQL materialised views
|
|
182
|
+
in Rails applications.
|
|
183
|
+
project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
|
|
184
|
+
management
|
|
185
|
+
refresh: Refresh
|
|
186
|
+
refresh_contents: Refresh contents
|
|
187
|
+
reloading: Reloading...
|
|
188
|
+
reset: Reset
|
|
189
|
+
run: Run
|
|
190
|
+
runs: Runs
|
|
191
|
+
save_changes: Save changes
|
|
192
|
+
settings:
|
|
193
|
+
auto: Auto
|
|
194
|
+
dark: Dark
|
|
195
|
+
language: Language
|
|
196
|
+
language_hint: Choose your interface language.
|
|
197
|
+
light: Light
|
|
198
|
+
theme: Theme
|
|
199
|
+
theme_hint: Auto follows your system preference; light and dark override it.
|
|
200
|
+
title: Preferences
|
|
201
|
+
title: Smriti Admin
|
|
202
|
+
view_var: View %{name}
|
|
203
|
+
x_miliseconds: "%{count} ms"
|
|
204
|
+
number:
|
|
205
|
+
format:
|
|
206
|
+
delimiter: ","
|
|
207
|
+
separator: "."
|
|
208
|
+
numbers:
|
|
209
|
+
eight: 8
|
|
210
|
+
five: 5
|
|
211
|
+
four: 4
|
|
212
|
+
nine: 9
|
|
213
|
+
one: 1
|
|
214
|
+
seven: 7
|
|
215
|
+
six: 6
|
|
216
|
+
three: 3
|
|
217
|
+
two: 2
|
|
218
|
+
zero: 0
|
|
219
|
+
time:
|
|
220
|
+
am: AM
|
|
221
|
+
formats:
|
|
222
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
223
|
+
pm: PM
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
en-LOL:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: MADE AT
|
|
7
|
+
dependencies: FRIENDZ IT NEEDZ
|
|
8
|
+
last_run_at: LAST RUNNED
|
|
9
|
+
name: NAEM
|
|
10
|
+
refresh_strategy: REFRESH PLAN
|
|
11
|
+
schedule_cron: SCHEDUL (cron)
|
|
12
|
+
sql: SQL (SELECT ... LOL)
|
|
13
|
+
unique_index_columns: ONE-OF-A-KIND COLUMNZ
|
|
14
|
+
updated_at: UPDATED
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: MADE AT
|
|
17
|
+
details: DETAILZ
|
|
18
|
+
duration_ms: HOW LONG (ms)
|
|
19
|
+
error: OOPS
|
|
20
|
+
finished_at: FINISHED
|
|
21
|
+
mat_view_definition: DEFINITION
|
|
22
|
+
meta: EXTRA STUFF
|
|
23
|
+
operation: ACTION
|
|
24
|
+
row_count_after: ROWZ AFTER
|
|
25
|
+
row_count_before: ROWZ BEFORE
|
|
26
|
+
rows_before_after: ROWZ (BEFORE/AFTER)
|
|
27
|
+
started_at: STARTED
|
|
28
|
+
status: STATUS
|
|
29
|
+
updated_at: UPDATED
|
|
30
|
+
enums:
|
|
31
|
+
smriti/mat_view_definition:
|
|
32
|
+
refresh_strategy:
|
|
33
|
+
concurrent: ALL AT ONCE, KTHX
|
|
34
|
+
regular: REGULAR
|
|
35
|
+
swap: SWAPPA
|
|
36
|
+
smriti/mat_view_run:
|
|
37
|
+
operation:
|
|
38
|
+
create: MAKE
|
|
39
|
+
drop: DROP
|
|
40
|
+
refresh: REFRESH
|
|
41
|
+
status:
|
|
42
|
+
failed: FAILED :-(
|
|
43
|
+
running: RUNNIN
|
|
44
|
+
success: AWESOME WIN
|
|
45
|
+
errors:
|
|
46
|
+
models:
|
|
47
|
+
smriti/mat_view_definition:
|
|
48
|
+
attributes:
|
|
49
|
+
name:
|
|
50
|
+
blank: HAZ TO BE THERE
|
|
51
|
+
invalid: IZ NOT A LEGIT PostgreSQL NAME
|
|
52
|
+
taken: ALREDY STOLED
|
|
53
|
+
sql:
|
|
54
|
+
blank: HAZ TO BE THERE
|
|
55
|
+
invalid: HAZ TO START WIF SELECT
|
|
56
|
+
unique_index_columns:
|
|
57
|
+
at_least_one: NEEDS AT LEAST 1 COLUMN WHEN U DOIN CONCURRENT REFRESH
|
|
58
|
+
hints:
|
|
59
|
+
smriti/mat_view_definition:
|
|
60
|
+
dependencies: Comma list of tablez or viewz dis materialized view needz, kthx.
|
|
61
|
+
name: Wut we call dis materialized view in teh database.
|
|
62
|
+
refresh_strategy: How dis materialized view gets a make-over.
|
|
63
|
+
schedule_cron: Use normal cron speak. Leave blank if u haz no schedul.
|
|
64
|
+
sql: SQL haz to be a real SELECT sentence.
|
|
65
|
+
unique_index_columns: Columnz that get teh special index. Needed for concurrent
|
|
66
|
+
refresh.
|
|
67
|
+
smriti/mat_view_run:
|
|
68
|
+
error: Message when teh run derps.
|
|
69
|
+
meta: Extra info in JSON.
|
|
70
|
+
operation: Wut kind of action ran.
|
|
71
|
+
status: Current mood of teh run.
|
|
72
|
+
models:
|
|
73
|
+
smriti/mat_view_definition: Materialized View Definition
|
|
74
|
+
smriti/mat_view_run: Materialized View Run
|
|
75
|
+
placeholders:
|
|
76
|
+
smriti/mat_view_definition:
|
|
77
|
+
dependencies: Type friendz (comma optional)
|
|
78
|
+
name: Type naem
|
|
79
|
+
refresh_strategy: Pick refresh plan
|
|
80
|
+
schedule_cron: 0 0 * * * = midnight ebery day, blank if no schedul
|
|
81
|
+
sql: Type SQL (SELECT ... LOL)
|
|
82
|
+
unique_index_columns: Type special columnz (comma optional)
|
|
83
|
+
smriti/mat_view_run:
|
|
84
|
+
error: OOPS message
|
|
85
|
+
mat_view_definition: Pick materialized view
|
|
86
|
+
meta: Extra stuff (JSON)
|
|
87
|
+
operation: Pick action
|
|
88
|
+
status: Pick status
|
|
89
|
+
i18n:
|
|
90
|
+
name: English (LOLCAT)
|
|
91
|
+
smriti:
|
|
92
|
+
actions: DO STUFF
|
|
93
|
+
cancel: NUH UH
|
|
94
|
+
close: CLOSE
|
|
95
|
+
close_window: CLOSE WINDOW
|
|
96
|
+
create: MAKE
|
|
97
|
+
dashboard:
|
|
98
|
+
metrics:
|
|
99
|
+
title: STATZ
|
|
100
|
+
title: DASHBOARD
|
|
101
|
+
datatable:
|
|
102
|
+
clear_search_aria_label: CLEAR TEH SEARCH
|
|
103
|
+
search_aria_label: SEARCH TEH TABLE
|
|
104
|
+
search_placeholder: LOOK FUR...
|
|
105
|
+
definition: DEFINITION
|
|
106
|
+
definitions: DEFINITIONZ
|
|
107
|
+
delete: DELETE
|
|
108
|
+
details: DETAILZ
|
|
109
|
+
edit: EDIT
|
|
110
|
+
edit_var: EDIT %{name}
|
|
111
|
+
errors:
|
|
112
|
+
frame_only: Dis only werkz in a frame, so go back to dashboard kthx.
|
|
113
|
+
prevented_saving:
|
|
114
|
+
few: "%{count} boo-booz stopped teh save:"
|
|
115
|
+
many: "%{count} boo-booz stopped teh save:"
|
|
116
|
+
one: '1 boo-boo stopped teh save:'
|
|
117
|
+
other: "%{count} boo-booz stopped teh save:"
|
|
118
|
+
two: '2 boo-booz stopped teh save:'
|
|
119
|
+
zero: NO BOO-BOOZ, YAY!
|
|
120
|
+
filter_by: 'FILTER BY:'
|
|
121
|
+
footer:
|
|
122
|
+
copyright: "© %{year} %{company} All rights reserved."
|
|
123
|
+
documentation: DOCZ
|
|
124
|
+
need_help: Need uptime promise & expert hoomans?
|
|
125
|
+
open_issue: OPEN ISSUE
|
|
126
|
+
project_homepage: PROJECT HOME
|
|
127
|
+
support: GET PRO SUPPORT →
|
|
128
|
+
tagline: Made wif ❤️ by devs for devs.
|
|
129
|
+
tooltip:
|
|
130
|
+
documentation: Read teh docz
|
|
131
|
+
gem_version: Visit RubyGems page
|
|
132
|
+
open_issue: Report bug or ask fur feature
|
|
133
|
+
project_homepage: GitHub repo
|
|
134
|
+
support: Pro support planz
|
|
135
|
+
version: v%{version}
|
|
136
|
+
header:
|
|
137
|
+
signed_in_as: U signed in as %{email}
|
|
138
|
+
history: HISTORY
|
|
139
|
+
loading: LOADING...
|
|
140
|
+
loading_definitions: Loading definitions...
|
|
141
|
+
loading_runs: Loading runz...
|
|
142
|
+
mat_view_definition:
|
|
143
|
+
create_mv: MAKE Smriti
|
|
144
|
+
create_mv_tooltip: Makes teh materialized view in teh database, kthx.
|
|
145
|
+
delete_confirm: Delete %{name} definition? (Smriti stays put)
|
|
146
|
+
delete_tooltip: Deletes definition but no drop teh materialized view.
|
|
147
|
+
drop_mv: DROP Smriti
|
|
148
|
+
drop_mv_cascade: DROP Smriti (ALL TEH THINGZ)
|
|
149
|
+
drop_mv_cascade_confirm: Drop materialized view and all its buddy objects for
|
|
150
|
+
%{name}?
|
|
151
|
+
drop_mv_cascade_tooltip: Drops materialized view and every dependent friend
|
|
152
|
+
in teh database. Definition stays.
|
|
153
|
+
drop_mv_confirm: Drop materialized view for %{name}?
|
|
154
|
+
drop_mv_tooltip: Drops materialized view from teh database. Definition stays.
|
|
155
|
+
edit_tooltip: Edit materialized view definition.
|
|
156
|
+
materialized_view: Materialized view
|
|
157
|
+
materialized_view_exists: Materialized view iz here
|
|
158
|
+
materialized_view_not_exists: Materialized view not born yet!
|
|
159
|
+
new_definition: New definition
|
|
160
|
+
new_definition_tooltip: Make fresh materialized view definition.
|
|
161
|
+
no_definitions: No materialized view definitions found. Make one plz.
|
|
162
|
+
no_definitions_if_filtered: Nuthin matched dat filter or search.
|
|
163
|
+
refresh_tooltip: Refreshes teh materialized view in database.
|
|
164
|
+
sql_summary_tooltip: Click to show/hide SQL
|
|
165
|
+
view_tooltip: Look at materialized view definition.
|
|
166
|
+
mat_view_run:
|
|
167
|
+
error_tooltip: Message if run derps.
|
|
168
|
+
meta_tooltip: Extra info in JSON.
|
|
169
|
+
no_runs: No runz here.
|
|
170
|
+
no_runs_if_filtered: Filters got zero runz.
|
|
171
|
+
view_details: See detailz
|
|
172
|
+
view_tooltip: See run detailz.
|
|
173
|
+
no_filter: ANYTHING
|
|
174
|
+
no_value: NO VALUE (nil or blank)
|
|
175
|
+
per_page: Per page
|
|
176
|
+
project_author: CodeVedas Inc.
|
|
177
|
+
project_description: Admin interface fur managing PostgreSQL materialized viewz
|
|
178
|
+
in Rails apps.
|
|
179
|
+
project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
|
|
180
|
+
management
|
|
181
|
+
refresh: REFRESH
|
|
182
|
+
refresh_contents: REFRESH STUFF
|
|
183
|
+
reloading: Reloadin...
|
|
184
|
+
reset: RESET
|
|
185
|
+
run: RUN
|
|
186
|
+
runs: RUNZ
|
|
187
|
+
save_changes: SAVE CHANGEZ
|
|
188
|
+
settings:
|
|
189
|
+
auto: AUTO
|
|
190
|
+
dark: DARK
|
|
191
|
+
language: LANGUAGE
|
|
192
|
+
language_hint: Pick ur interface lingo.
|
|
193
|
+
light: LIGHT
|
|
194
|
+
theme: THEME
|
|
195
|
+
theme_hint: Auto followz ur system, light/dark override it.
|
|
196
|
+
title: PREFERENCES
|
|
197
|
+
title: Smriti LOL
|
|
198
|
+
view_var: VIEW %{name}
|
|
199
|
+
x_miliseconds: "%{count} ms"
|
|
200
|
+
number:
|
|
201
|
+
format:
|
|
202
|
+
delimiter: ","
|
|
203
|
+
separator: "."
|
|
204
|
+
numbers:
|
|
205
|
+
eight: 8
|
|
206
|
+
five: 5
|
|
207
|
+
four: 4
|
|
208
|
+
nine: 9
|
|
209
|
+
one: 1
|
|
210
|
+
seven: 7
|
|
211
|
+
six: 6
|
|
212
|
+
three: 3
|
|
213
|
+
two: 2
|
|
214
|
+
zero: 0
|
|
215
|
+
time:
|
|
216
|
+
am: AM
|
|
217
|
+
formats:
|
|
218
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
219
|
+
pm: PM
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
en-SCOT:
|
|
3
|
+
activerecord:
|
|
4
|
+
attributes:
|
|
5
|
+
smriti/mat_view_definition:
|
|
6
|
+
created_at: Cooked up oan
|
|
7
|
+
dependencies: Whit's relied oan
|
|
8
|
+
last_run_at: Last time it ran
|
|
9
|
+
name: Name
|
|
10
|
+
refresh_strategy: Refresh scheme
|
|
11
|
+
schedule_cron: Schedule (cron)
|
|
12
|
+
sql: SQL (SELECT ...)
|
|
13
|
+
unique_index_columns: Unique index columns
|
|
14
|
+
updated_at: Updated oan
|
|
15
|
+
smriti/mat_view_run:
|
|
16
|
+
created_at: Cooked up oan
|
|
17
|
+
details: Details
|
|
18
|
+
duration_ms: Duration (ms)
|
|
19
|
+
error: Error
|
|
20
|
+
finished_at: Finished oan
|
|
21
|
+
mat_view_definition: Definition
|
|
22
|
+
meta: Extra info
|
|
23
|
+
operation: Operation
|
|
24
|
+
row_count_after: Rows efter
|
|
25
|
+
row_count_before: Rows afore
|
|
26
|
+
rows_before_after: Rows (afore/efter)
|
|
27
|
+
started_at: Kicked aff
|
|
28
|
+
status: Status
|
|
29
|
+
updated_at: Updated oan
|
|
30
|
+
enums:
|
|
31
|
+
smriti/mat_view_definition:
|
|
32
|
+
refresh_strategy:
|
|
33
|
+
concurrent: A' at once
|
|
34
|
+
regular: Regular
|
|
35
|
+
swap: Swap
|
|
36
|
+
smriti/mat_view_run:
|
|
37
|
+
operation:
|
|
38
|
+
create: Mak
|
|
39
|
+
drop: Drap
|
|
40
|
+
refresh: Refresh
|
|
41
|
+
status:
|
|
42
|
+
failed: Scunnered
|
|
43
|
+
running: Gawn
|
|
44
|
+
success: Sorted
|
|
45
|
+
errors:
|
|
46
|
+
models:
|
|
47
|
+
smriti/mat_view_definition:
|
|
48
|
+
attributes:
|
|
49
|
+
name:
|
|
50
|
+
blank: needs tae be filled in
|
|
51
|
+
invalid: isnae a valid PostgreSQL name
|
|
52
|
+
taken: needs tae be unique
|
|
53
|
+
sql:
|
|
54
|
+
blank: needs tae be filled in
|
|
55
|
+
invalid: has tae start wi SELECT
|
|
56
|
+
unique_index_columns:
|
|
57
|
+
at_least_one: needs at least ane column when usin the concurrent refresh
|
|
58
|
+
scheme
|
|
59
|
+
hints:
|
|
60
|
+
smriti/mat_view_definition:
|
|
61
|
+
dependencies: Comma list o tables or views this materialised yin depends oan.
|
|
62
|
+
name: Name o the materialised view in the database.
|
|
63
|
+
refresh_strategy: Shows hoo the materialised view gets refreshed.
|
|
64
|
+
schedule_cron: Use the usual cron format. Leave it blank if yer no scheduling.
|
|
65
|
+
sql: The SQL statement needs tae be a proper SELECT.
|
|
66
|
+
unique_index_columns: Columns that get the unique index. Needed for the concurrent
|
|
67
|
+
refresh.
|
|
68
|
+
smriti/mat_view_run:
|
|
69
|
+
error: Message if the run went pear-shaped.
|
|
70
|
+
meta: Extra details in JSON.
|
|
71
|
+
operation: Type o operation that ran.
|
|
72
|
+
status: Whit stage the run's at the noo.
|
|
73
|
+
models:
|
|
74
|
+
smriti/mat_view_definition: Materialised View Definition
|
|
75
|
+
smriti/mat_view_run: Materialised View Run
|
|
76
|
+
placeholders:
|
|
77
|
+
smriti/mat_view_definition:
|
|
78
|
+
dependencies: Type dependencies (comma separated, optional)
|
|
79
|
+
name: Type name
|
|
80
|
+
refresh_strategy: Pick a refresh scheme
|
|
81
|
+
schedule_cron: 0 0 * * * fer midnight daily, blank fer nae schedule
|
|
82
|
+
sql: Type SQL (SELECT ...)
|
|
83
|
+
unique_index_columns: Type unique index columns (comma separated, optional)
|
|
84
|
+
smriti/mat_view_run:
|
|
85
|
+
error: Error message
|
|
86
|
+
mat_view_definition: Pick the materialised view
|
|
87
|
+
meta: Extra info (JSON)
|
|
88
|
+
operation: Pick operation
|
|
89
|
+
status: Pick status
|
|
90
|
+
i18n:
|
|
91
|
+
name: English (Scots)
|
|
92
|
+
smriti:
|
|
93
|
+
actions: Actions
|
|
94
|
+
cancel: Cancel
|
|
95
|
+
close: Shut
|
|
96
|
+
close_window: Shut windae
|
|
97
|
+
create: Create
|
|
98
|
+
dashboard:
|
|
99
|
+
metrics:
|
|
100
|
+
title: Metrics
|
|
101
|
+
title: Dashboard
|
|
102
|
+
datatable:
|
|
103
|
+
clear_search_aria_label: Clear the search
|
|
104
|
+
search_aria_label: Search the table
|
|
105
|
+
search_placeholder: Hae a keek...
|
|
106
|
+
definition: Definition
|
|
107
|
+
definitions: Definitions
|
|
108
|
+
delete: Delete
|
|
109
|
+
details: Details
|
|
110
|
+
edit: Edit
|
|
111
|
+
edit_var: Edit %{name}
|
|
112
|
+
errors:
|
|
113
|
+
frame_only: Ye can only dae this inside a frame, sae ye're heidit back tae the
|
|
114
|
+
dashboard.
|
|
115
|
+
prevented_saving:
|
|
116
|
+
few: "%{count} clangers stopped the save:"
|
|
117
|
+
many: "%{count} clangers stopped the save:"
|
|
118
|
+
one: '1 clanger stopped the save:'
|
|
119
|
+
other: "%{count} clangers stopped the save:"
|
|
120
|
+
two: '2 clangers stopped the save:'
|
|
121
|
+
zero: Nae clangers, braw!
|
|
122
|
+
filter_by: 'Filter by:'
|
|
123
|
+
footer:
|
|
124
|
+
copyright: "© %{year} %{company} All rights reserved."
|
|
125
|
+
documentation: Docs
|
|
126
|
+
need_help: Need guaranteed uptime & a wee bit o help?
|
|
127
|
+
open_issue: Open an Issue
|
|
128
|
+
project_homepage: Project hamepage
|
|
129
|
+
support: Get Professional Support →
|
|
130
|
+
tagline: Built wi ❤️ by developers, fer developers.
|
|
131
|
+
tooltip:
|
|
132
|
+
documentation: Read the docs
|
|
133
|
+
gem_version: Heid ower tae RubyGems
|
|
134
|
+
open_issue: Report a bug or ask fer a feature
|
|
135
|
+
project_homepage: GitHub repo
|
|
136
|
+
support: Professional support plans
|
|
137
|
+
version: v%{version}
|
|
138
|
+
header:
|
|
139
|
+
signed_in_as: Signed in as %{email}
|
|
140
|
+
history: History
|
|
141
|
+
loading: Loadin...
|
|
142
|
+
loading_definitions: Fetchin definitions...
|
|
143
|
+
loading_runs: Fetchin runs...
|
|
144
|
+
mat_view_definition:
|
|
145
|
+
create_mv: Create Smriti
|
|
146
|
+
create_mv_tooltip: Builds the materialised view in the database.
|
|
147
|
+
delete_confirm: Scrap the definition %{name}? (Disnae drop Smriti)
|
|
148
|
+
delete_tooltip: Deletes the definition but disnae drop the materialised view
|
|
149
|
+
in the database.
|
|
150
|
+
drop_mv: Drop Smriti
|
|
151
|
+
drop_mv_cascade: Drop Smriti (Cascade)
|
|
152
|
+
drop_mv_cascade_confirm: Drop the materialised view an aw the hangers-on fer
|
|
153
|
+
%{name}?
|
|
154
|
+
drop_mv_cascade_tooltip: Drops the materialised view an aw the dependents in
|
|
155
|
+
the database. Definition stays put.
|
|
156
|
+
drop_mv_confirm: Drop the materialised view fer %{name}?
|
|
157
|
+
drop_mv_tooltip: Drops the materialised view in the database. Definition sticks
|
|
158
|
+
aroond.
|
|
159
|
+
edit_tooltip: Edit materialised view definition.
|
|
160
|
+
materialized_view: Materialised view
|
|
161
|
+
materialized_view_exists: Materialised view's there
|
|
162
|
+
materialized_view_not_exists: Materialised view's no ready yet!
|
|
163
|
+
new_definition: New definition
|
|
164
|
+
new_definition_tooltip: Spin up a new materialised view definition.
|
|
165
|
+
no_definitions: Nae materialised view definitions found. Mak ane tae get goin.
|
|
166
|
+
no_definitions_if_filtered: Nuthin matches yon filters or search.
|
|
167
|
+
refresh_tooltip: Refreshes the materialised view in the database.
|
|
168
|
+
sql_summary_tooltip: Tap tae open/close the SQL
|
|
169
|
+
view_tooltip: See the materialised view definition.
|
|
170
|
+
mat_view_run:
|
|
171
|
+
error_tooltip: Error message if the run went belly up.
|
|
172
|
+
meta_tooltip: Extra info in JSON.
|
|
173
|
+
no_runs: Nae runs found.
|
|
174
|
+
no_runs_if_filtered: Nae runs match thae filters.
|
|
175
|
+
view_details: View details
|
|
176
|
+
view_tooltip: View the run details.
|
|
177
|
+
no_filter: Any (nae filter)
|
|
178
|
+
no_value: Nae value (nil or empty)
|
|
179
|
+
per_page: Per page
|
|
180
|
+
project_author: CodeVedas Inc.
|
|
181
|
+
project_description: Admin interface fer mindin PostgreSQL materialised views
|
|
182
|
+
in Rails apps.
|
|
183
|
+
project_tags: rails, ruby, materialized views, admin, dashboard, ui, interface,
|
|
184
|
+
management
|
|
185
|
+
refresh: Refresh
|
|
186
|
+
refresh_contents: Refresh contents
|
|
187
|
+
reloading: Reloadin...
|
|
188
|
+
reset: Reset
|
|
189
|
+
run: Run
|
|
190
|
+
runs: Runs
|
|
191
|
+
save_changes: Save changes
|
|
192
|
+
settings:
|
|
193
|
+
auto: Auto
|
|
194
|
+
dark: Dark
|
|
195
|
+
language: Language
|
|
196
|
+
language_hint: Choose yer interface lingo.
|
|
197
|
+
light: Light
|
|
198
|
+
theme: Theme
|
|
199
|
+
theme_hint: Auto follows yer system; light an dark override it.
|
|
200
|
+
title: Preferences
|
|
201
|
+
title: Smriti Admin
|
|
202
|
+
view_var: View %{name}
|
|
203
|
+
x_miliseconds: "%{count} ms"
|
|
204
|
+
number:
|
|
205
|
+
format:
|
|
206
|
+
delimiter: ","
|
|
207
|
+
separator: "."
|
|
208
|
+
numbers:
|
|
209
|
+
eight: 8
|
|
210
|
+
five: 5
|
|
211
|
+
four: 4
|
|
212
|
+
nine: 9
|
|
213
|
+
one: 1
|
|
214
|
+
seven: 7
|
|
215
|
+
six: 6
|
|
216
|
+
three: 3
|
|
217
|
+
two: 2
|
|
218
|
+
zero: 0
|
|
219
|
+
time:
|
|
220
|
+
am: AM
|
|
221
|
+
formats:
|
|
222
|
+
datetime12hour: "%Y-%m-%d %I:%M:%S %p"
|
|
223
|
+
pm: PM
|