forked from sqlitebrowser/sqlitebrowser
-
Notifications
You must be signed in to change notification settings - Fork 0
Changes from upstream #1
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added JSON support for snap and AppImage packages
When detecting the data type in the Edit Cell dialog, don't treat simple numbers as a JSON document. They should be handled as text instead. Thanks to @mgrojo for pointing this out here. d344f39#r34132706
Fix a crash when using the "Browse Table" action in the right click menu in the Database Structure tab. It crashed whenever the table name or the schema name started or ended with a space character.
Add a "Browse Table" action to the right-click menu of the table and view items in the Database Structure dock. See issue #1943.
This fixes 8a4e363.
When opening a file in read-only mode, remember that read-only flag when adding it to the list of recently opened files. The next time it is opened it will be again in read-only mode. The way this is implemented (by adding a "[ro]" to the start of the path to indicate when to open in read-only mode) was chosen in order to be fully backwards compatible with the previous data format for the file list. See issue #1913.
This adds support for changing the names of existing constraints in the Edit Table dialog. It should be possible to extend the code to allow further modifications of the constraints. As a minor change, this commit makes the SQL column of the constraints table read only.
This adds support for searching "this|that" to find either "this" or "that"
or using quantifiers like "{number}". The change applies to the
Find/Replace dialog and the search bar.
See https://en.cppreference.com/w/cpp/regex/ecmascript for details of the
syntax.
This raises the requirement for an external version of QScintilla to v2.11.
See issue #1625
This adds support for deleting table constraints in the Edit Table dialog.
This adds support for modifying the columns a constraint is applied on in the Constraints tab of the Edit Table dialog. This is a major step towards full constraint editing capabilities (adding new constraints, modifying constraint type, and editing constraint type-dependent parameters are the other missing pieces). The reasoning behind the popup dialog is to not introduce another full dialog on top of the Edit Table dialog. After opening the Edit Table dialog, then switching to the Constraints tab, then opening another modal dialog, I felt like losing track of what I am currently editing. The popup dialog is certainly not great but feels a bit less intrusive. Any suggestions regarding this are appreciated.
This changes the way we store the constraints associated with a table from using a map to using a set. The map was mapping from the list of field names to the constraint applied on these fields. Now the field list is stored inside the constraint and we can store the constraints in a simple set. This turns out to simplify the code noticeably.
Enable the combo box in the Edit Table dialog to change the type of a table constraint and add the code to try to transform a constraint from one type into another as best as possible.
This fixes parsing for table definitions like this:
CREATE TABLE a(
x INT DEFAULT(5 + (1))
);
See issue #1950.
This adds a missing definition for the % character in order to make the modulo operator work correctly in expressions. See issue #1950.
When modifying the value of a field in the Browse Data tab, we used to always hand over the new value to SQLite as text. This works most of the time but can cause problems e.g. when a CHECK constraint checks the data type of the value and expects something other than text. It is also a pretty lazy approach in general. This commit checks if the new value matches the affinity data type of the column, and if it does hands over the new value as the correct data type. See issue #1952.
This fixes commit 74e0df3 for integers and floats of more than 32 bits length. See comment by @mgrojo here: 74e0df3#r34532732
Ctrl+Shift+O for "Open DB Read Only" (see issue #1904) F1 for "Help > Wiki" (our online help page)
- Unchecked dynamic_cast - Uninitialized scalar field - Uninitialized pointer field - Big parameter passed by value
Flickering was produced in the table header, due to the fact that the the filter boxes were displayed first at the rightmost side while the table is reset and then they are repainted when the rows appear, in order to leave space to the vertical header with the row numbers. Setting the minimum width of the vertical header to the current width before any filtering or sorting avoids the issue. The minimum width is set to the default when changing the current table. See issues #1763 and #1941
headerData() now returns column name plus sort indicator in the display role and only the column name in the edit role. This allows to use the edit role for the plot and the copy-with-headers features, so they do not show the sort indicator as part of the column name. See related issue #1409 and PR #1810
I forgot to add this file in 7d85d7a.
When browsing a view we were constructing a query which looked like this because the rowid column was empty: SELECT "",* FROM "view_name"; This worked because there isn't really any rowid column for views anyway and SQLite was interpreting the first bit as an empty string literal. However using double quotes for string literals triggers a warning in the error log. This commit aims to avoid this warning.
This adds support for adding custom constraint in the Edit Table dialog, e.g. for adding multi-column unique constraints.
Fix the size value in the database list of the Remote Dock for very large databases. This was showing a negative value due to an overlow.
A new button in the "Browse Data" toolbar for clearing the sorting columns and returning to the default table order. New icon created as a composition of icons from the Silk icon set. See issue #1761
Add a new right click context menu to the tab bar of the Execute SQL tab in the main window. This menu contains actions for renaming and closing tabs. Especially the renaming feature was hard to find before. Add a third, new action to the context menu for duplicating the tab. Duplicating opens a new tan and copies the title and SQL text from the selected tab. See issue #1964.
If no DB is open, DB4S tries to open the dropped file as formerly. Otherwise, the user is prompted for the action: - Open Database or Project - Attach Database... - Import CSV file(s)... See issue #1883
A new button is added in the "Edit DB Cell" dock for interpreting the current value as a URL or filename and opening it using the default application for the file or a web browser for the URL. The same can be directly invoked in the table browser using the same shortcut as the FK navigation. Related issue #1597
The "Import file" in the Edit Dialog dock is converted to a menu (after long click) with a new action for selecting a file to be imported as a reference in the cell. Then this filename reference can be used to open the file using the default application with the present "Open in Application" action. (In Linux, paths containing non-US-ASCII are known not to work. This seems a bug in Qt QUrl class). New icon composed from our document-open.png and link.png from Silk icon set. Related issue #1597
…actor When opening a relative filename from "Edit DB Cell" or Table Browser the relative paths are interpreted from the DB file location. This allows portability of DB and linked files to a new location. Refactoring so the open URL code is centralised in MainWindow and a status message is displayed with error or opening notification. See issue #1597
…load A new button has been added in "Edit DB Cell" dock, which saves the cell data to a temporary file with extension according to detected data and opens default external application for the file type. It then asks user to reload the data in a dialog when they have finished editing the data. It can be also used for viewing if the user cancels the reload. See related issues #1791 and #1746
The contextual menu will show all options for writable tables, and only "Adjust rows" option for views or read-only DBs. See issue #2006
Related issue #1791
The Discard option will be more specific about losing changes than an ambiguous No, if user does not read the dialog message. In my platform it is displayed as a "Close without saving" button.
New MIME types according to IANA and our own MIME entry in distri/mime/packages/db4s-sqbpro.xml See issue #2024
The string has to be correctly quoted so contained apostrophes are doubled. This prevented applying a format to cells containing apostrophes (single quotes) since the SQL code raised a syntax error in SQLite.
For the error indicators and scrolling to the failing query, all the whitespace present at the starting end of the query is skipped. Otherwise the point indicated to the user could be very far to the actual query. See issue #2073
The end of the function is unified for failed and successful cases, so the savepoint reversion is always made when it has to be. Reported in issue #2073
According to documentation https://doc.qt.io/qt-5/qstring.html#simplified > Whitespace means any character for which QChar::isSpace() returns true. > This includes the ASCII characters '\t', '\n', '\v', '\f', '\r', and ' '. So replacing '\n' is redundant and can be removed without effect.
QScintilla text(line) returns the string of the passed line including the line terminator. Given the differences in platforms in that regard, we only supported the case for a single character separator. This should solve issue #2073 for Windows. It also should solve #1768 and #1632, which were only reproduced in Windows or editing files with lines ending in "\r\n" in general.
New options and spin boxes are added for entering any non-printable character in the Import CSV dialog. This adds support for Concordance DAT files and similar cases. See issue #2012
Otherwise the UI dynamic property does not seem to work, although it use to and should. Please, improve it if a way to return to the correct behaviour. Fixes issue #2078
Closing the file in the destructor seems to be done after the watch is in place, so it can get a notification in some platforms.
Update Polish translation
When switching to a view for a second time, the "Unlock view editing" menu item was suddely checked. This is now fixed. See issue #2091.
This fixes editing and browsing views which have the same name as a trigger in the same database. See issue #2091.
Building with qmake did not work on macOS or at least not on all macOS systems. This can be fixed by not compiling the header-only json library into an empty static library - which is not needed anyway. See issue #2014.
After switching from QRegExp to QRegularExpression matching Unicode characters was broken. This functionality is now restored. See issue #2054.
The new icons are believed to be more easy to parse and identify. They are derived from @damieng's Silk Companion 1 (icon table_row.png) and the Silk's bullet icons for (+) and (-). https://damieng.com/creative/icons/silk-companion-1-icons See issue #2083
Update macOS casing in bug report template
deepsidhu1313
pushed a commit
that referenced
this pull request
Apr 25, 2020
WiX doesn't seem to like the hyphen character ("-") being used
in Id's, which is a problem as it's used in the OpenSSL library
filenames.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.