Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 3f01386 #5

Merged
merged 83 commits into from
Nov 23, 2023
Merged

Merge 3f01386 #5

merged 83 commits into from
Nov 23, 2023

Conversation

josef-poetzl
Copy link
Owner

No description provided.

hecon5 and others added 30 commits September 23, 2023 09:03
Removed dependency on an external function, and added an example for building from source.
Backticks only apply to MySQL, while square brackets are used with MSSQL and Access. joyfullservice#442
Extending the performance class to allow the wrapping of long names used for categories or operations. (Not really needed within this project, but could potentially be helpful in the future with translations.) joyfullservice#441
Putting the comma after the argument seems to be the preferred industry-standard approach, based on ChatGPT and Bard.
Updating clsPerformance, as some objects never restart timing, and wh…
You can now specify the source files path when you initiate a build through the API. This allows automated builds to be run even if a copy of the database does not yet exist. (Such as after checking out a project in an automated CI workflow.) joyfullservice#430
…g as expected due to searching the current directory rather than using the export folder.
…his avoid generating a bad export where the data are not actually exported due to invalid XML being generated by Application.ExportXML. Unfortunately, if a table contains any characters that aren't valid for XML document, it won't try to escape them and include them as literals. Even if they were escaped, they might not be accepted anyway. XML specifications forbids having any characters in 0x01-0x31 range so if a table data contains such characters, this can cause the XML export to fail. In this case, tab delimited will have to be used instead. However, the previous version was simply silently exporting as if everything is hunky-dory when it's not. Hence, the error.
…cks. This seems to be due to not closing it when evaluating the UseTheme. Even if we skipped it, we still need to remove it from m_colBlocks to balance everything out.
…e end of the string but the function GetNextTokenID returns 0, which then fails within FormatSQL function since there is no member at index 0. It's not clear why this only fails every second time a query is exported but it is the case where if it fails, exporting it next time will not yield the error. Do it 3rd time, then it fails.
…er because they are a variant of pass-through queries.
…quick to close it) which may result in an error about object members not available. Since the form is closed, there's no point in setting the timer interval. To avoid the error when debugging, we add a IsLoaded check and skip it if it's not loaded.
This option (on by default) will save the VBA code from forms and reports as a related .cls file. (Still under development.) joyfullservice#378

Also removed the "Strip out Publish Option" from the options form. I have never heard of a case where this needs to be changed, and it frees up space for the new option we are adding without cluttering the form.
This logic will be shared when exporting code modules from forms and reports.
Refactored parsing the key from the performance item so that we are not dependent upon a unique delimiter. The timing value is always a number, so we can be confident that the first pipe character is the delimiter. The text after that can be anything, including pipe characters. joyfullservice#450
(minor change)
In some cases sanitizing a source file actually creates two distinct outputs. A layout file and a code file. Rather than making the sanitize function more complicated with byref outputs and non-obvious side effects, I am taking the approach of a more explicit object-oriented route where the code is easier to understand and maintain. (And also allows for future enhancements such as SQL extraction for query definition files.)
Updating the existing code to use the new class.
Export is now splitting the VBA from Form and Report objects to separate files with a .cls extension. Moving on to the code that will stitch these files back together before import.
This better reflects the expanded role of the class.
joyfullservice and others added 29 commits November 15, 2023 09:21
Separates the VBA code from the layout definition in the source files. (Applying to testing database now, will apply to main project soon.)
I am using the minor version number to represent releases from the main branch, and the build number to continuously increment during the development cycle.
…FromVBA

Split form/report layout definitions from VBA code
…"Fast" way first and revert otherwise. this allows the optimization to be used everywhere with no code changes. Ensure that millisecond accuracy is kept for otherse using the function. No Speed impact is noted on my end to doing this.
…t string building to only do math when it's required and fix whitespace.
Additional Optimizations for parsing time
This was previously only partially implemented. joyfullservice#457
This character is used in Microsoft Access in a query when referring directly to a control on a form, and should be treated similar to a period as a separator between elements. joyfullservice#457
This query demonstrates that we can properly parse and format expressions that refer to controls. joyfullservice#457
Just in case a user has an embedded unquoted path in a string, the colon will be treated as a non-spaced boundary character during formatting. (For Microsoft Access SQL only) Fixes joyfullservice#447
If a operationname has a leading space (like " MyOperation" ) the function "SortItemsByTime" fails.
Now sorting will success.
After removing string padding in the previous commit.
Switching to just using a bit flag check to solve joyfullservice#462
Failing to convert a path to UNC may not prevent the operation from completing, but it should be handled and logged. Fixes joyfullservice#461
Save custom date properties in ISO (UTC) format in source files, without converting other property types like strings that may parse as dates. joyfullservice#459
This is only used in the index and certain database properties. joyfullservice#459
These dates need to be converted to local dates for internal processing. joyfullservice#459
Verifies that the round trip conversion of saved date properties is working correctly. (The dates are stored as UTC in source files, but converted to local dates when imported into the database properties.) joyfullservice#459
One stored as a regular date string, and the other as an ISO8601 string. (Neither should convert when reading or writing to JSON.) joyfullservice#459
If you use the default options of no special export folder path defined, the project may likely be in the repository root. Add the default .gitignore and .gitattributes files if they are missing. (This would be the default setup for most projects.)
@josef-poetzl josef-poetzl merged commit c38dd7a into dev-jp Nov 23, 2023
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.

5 participants