sparklemotion / sparklemotion/sqlite3-ruby
Incomplete PRAGMA support
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 845
- Forks
- 220
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 3
Description
I have noticed some inconsistencies in the handling for SQLite pragmas.
- There is a setter for
busy_timeout=but no getter. Likewise forignore_check_constraints=. - No accessors for
analysis_limithard_heap_limittrusted_schema - No method for
optimize - No methods for
function_listmodule_listpragma_list - No methods for
table_listtable_xinfo
For the last, SQLite supports 3 pragmas for index and table:
- thing_list
- thing_info
- thing_xinfo
The gem I have installed, version 2.0.4, has methods for all three index pragmas but only the table_info method.
Some of these may not make sense to support, but these are my findings. Separately, I have some ideas about how to reorganize lib/sqlite3/pragmas.rb.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review lib/sqlite3/pragmas.rb and compare the existing index and table pragma methods with the requested SQLite pragmas. Decide which missing accessors and methods are appropriate to support, then verify that each selected pragma is exposed consistently; the issue is complete when the chosen support is implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby, sqlite
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100