8000 Find the forms and their streams with functions of the storage, and keep the control types in a table by dominion525 · Pull Request #135 · dominion525/jetdb · GitHub
[go: up one dir, main page]

Skip to content

Find the forms and their streams with functions of the storage, and keep the control types in a table - #135

Merged
dominion525 merged 2 commits into
mainfrom
refactor/form-storage
Oct 26, 2026
Merged

dominion525 merged 2 commits into
mainfrom
refactor/form-storage

Conversation

@dominion525
Copy link
Copy Markdown
Owner

Summary

  • The forms, the reports and their streams were found by walking the storage the same way twice in form.rs (and twice in macro_def.rs), and list_forms_in wrote its walk once for the forms and again for the reports. storage.rs now has find_top_folder, find_child_storage, find_child_stream, folder_mapping and object_stream, which list_forms_in and find_stream use over the folders of FORM_FOLDERS.
  • The names of the control types are kept in CONTROL_TYPE_NAMES, sorted by code, which control_type_name looks up with name_in as the names of the properties are; the test that the tables are sorted covers it, and the three codes no test checked (0x0072, 0x007C, 0x0098) are tested.
  • read_form_properties_in reads the controls of the TypeInfo and merges them with those of the Blob in functions of their own.
  • The tests read SaveAsText output with a reader that keeps the open blocks and the last key, a method for each kind of line.
  • What the functions give is unchanged.
  • Functions above the thresholds: 83 → 78. Tests: 1113, as before.
Function Before (CC / Cog / SLOC) After, the function of the largest CC
control_type_name 55 / 1 / 64 1 / 0 / 3
find_stream 20 / 26 / 46 6 / 6 / 24
list_forms_in 16 / 15 / 46 4 / 4 / 14
read_form_properties_in 11 / 2 / 63 5 / 1 / 33
read_saveastext (tests) 18 / 25 / 51 8 / 8 / 19

🤖 Generated with Claude Code

dominion525 and others added 2 commits October 26, 2026 10:58
…r streams

- Add find_top_folder, find_child_storage, find_child_stream, folder_mapping and object_stream

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…nd keep the control types in a table

- List the forms and reports, and find their streams, with the functions of the storage, from the folders of FORM_FOLDERS
- Keep the names of the control types in CONTROL_TYPE_NAMES, sorted by code, which control_type_name looks up as the names of the properties are, and test the three codes no test checked
- Read the controls of the TypeInfo and merge them with those of the Blob in functions of their own
- Read SaveAsText output in the tests with a reader that keeps the open blocks and the last key

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Coverage

For eab43e2.

Filename                       Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
jetdb-cli/src/export.rs            108                11    89.81%           5                 0   100.00%          66                 6    90.91%           0                 0         -
jetdb-cli/src/form.rs              254                24    90.55%          19                 5    73.68%         152                 9    94.08%           0                 0         -
jetdb-cli/src/macro_cmd.rs         151                11    92.72%          11                 2    81.82%          81                 5    93.83%           0                 0         -
jetdb-cli/src/main.rs              864                38    95.60%          70                 2    97.14%         549                25    95.45%           0                 0         -
jetdb-cli/src/prop.rs              308                15    95.13%          33                 2    93.94%         186                10    94.62%           0                 0         -
jetdb-cli/src/query.rs              80                 4    95.00%           5                 0   100.00%          51                 1    98.04%           0                 0         -
jetdb-cli/src/vba.rs                74                 4    94.59%           5                 0   100.00%          47                 1    97.87%           0                 0         -
jetdb-wasm/src/lib.rs             3871                95    97.55%         252                 4    98.41%        2031                22    98.92%           0                 0         -
jetdb/src/catalog.rs               509                14    97.25%          46                 0   100.00%         299                 3    99.00%           0                 0         -
jetdb/src/complex.rs               924                32    96.54%          73                 0   100.00%         605                15    97.52%           0                 0         -
jetdb/src/crypto.rs               2300               112    95.13%         127                10    92.13%        1315                60    95.44%           0                 0         -
jetdb/src/csv.rs                   857                24    97.20%          72                 0   100.00%         486                 6    98.77%           0                 0         -
jetdb/src/data.rs                 4560               179    96.07%         257                 3    98.83%        2564               110    95.71%           0                 0         -
jetdb/src/ddl/access.rs             70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/mod.rs              2777                 8    99.71%         199                 2    98.99%        1503                 6    99.60%           0                 0         -
jetdb/src/ddl/mysql.rs              70                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/postgres.rs           71                 0   100.00%           7                 0   100.00%          46                 0   100.00%           0                 0         -
jetdb/src/ddl/sqlite.rs             69                 0   100.00%           7                 0   100.00%          48                 0   100.00%           0                 0         -
jetdb/src/encoding.rs              284                 0   100.00%          30                 0   100.00%         153                 0   100.00%           0                 0         -
jetdb/src/file.rs                 1915                65    96.61%         117                 0   100.00%         983                18    98.17%           0                 0         -
jetdb/src/form.rs                 3123               128    95.90%         230                10    95.65%        1684                48    97.15%           0                 0         -
jetdb/src/form2000.rs              762                21    97.24%          56                 1    98.21%         402                 4    99.00%           0                 0         -
jetdb/src/format.rs                616                 2    99.68%          45                 0   100.00%         388                 2    99.48%           0                 0         -
jetdb/src/lib.rs                     3                 0   100.00%           1                 0   100.00%           3                 0   100.00%           0                 0         -
jetdb/src/macro_action.rs          299                19    93.65%          27                 3    88.89%         165                24    85.45%           0                 0         -
jetdb/src/macro_def.rs            2350                98    95.83%         179                 9    94.97%        1522                46    96.98%           0                 0         -
jetdb/src/macro_text.rs            783                24    96.93%          49             
A3ED
    2    95.92%         437                20    95.42%           0                 0         -
jetdb/src/map.rs                   416                13    96.88%          27                 0   100.00%         221                 5    97.74%           0                 0         -
jetdb/src/money.rs                 281                 0   100.00%          26                 0   100.00%         186                 0   100.00%           0                 0         -
jetdb/src/prop.rs                 1398                56    95.99%          88                 8    90.91%         735                63    91.43%           0                 0         -
jetdb/src/query.rs                2587                71    97.26%         188                 1    99.47%        1625                35    97.85%           0                 0         -
jetdb/src/relationship.rs          249                26    89.56%          22                 0   100.00%         177                10    94.35%           0                 0         -
jetdb/src/save_as_text.rs          574                27    95.30%          52                 3    94.23%         341                27    92.08%           0                 0         -
jetdb/src/storage.rs               764                32    95.81%          57                 0   100.00%         434                 6    98.62%           0                 0         -
jetdb/src/table.rs                1679                67    96.01%         109                 2    98.17%        1017                18    98.23%           0                 0         -
jetdb/src/timestamp.rs             405                 0   100.00%          44                 0   100.00%         235                 0   100.00%           0                 0         -
jetdb/src/vba.rs                   634                65    89.75%          54                16    70.37%         361                60    83.38%           0                 0         -
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                            37039              1285    96.53%        2603                85    96.73%       21190               665    96.86%           0                 0         -

@dominion525
dominion525 merged commit 46f00ef into main Oct 26, 2026
11 checks passed
@dominion525
dominion525 deleted the refactor/form-storage branch October 26, 2026 02:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0