Commit graph

366 commits

Author SHA1 Message Date
eelke
d4d8316917 Collection of minor code improvements.
Program should still behave exactly the same.
2018-10-21 13:46:58 +02:00
eelke
38ae5f50e4 Moved code from TablesPage into seperate PropetiesPage component
Clears up the TablePage and makes rhe propertypage reusable.
2018-10-20 10:58:42 +02:00
eelke
b8cfb223be Switch of wordwrap in CodeEditor and SqlCodePreview 2018-10-08 18:43:56 +02:00
eelke
eefcb8fd51 Add (inherited) to tablespace name when table is using the default tablespace set for the database. 2018-10-07 20:57:52 +02:00
eelke
2a75e86102 Added listing of triggers for selected table (not completely finished).
Used slightly different approach. This tab is fully build in source code
using subclasses to adjust behaviour of widgets for reuse in the other tabs.
Uses custom proxy model for filtering triggers for correct table and supporting
out of the box sorting by QTableView.

SqlCodePreview: QPlainTextEditor which sql highlighter and in readonly mode but allows copy.
2018-10-07 19:40:06 +02:00
eelke
446923ebaf Merge branch 'gen-code-for-query'
# Conflicts:
#	pglablib/pglablib.pro
2018-09-23 10:44:28 +02:00
eelke
7c7e72ae14 pg_trigger 2018-09-23 10:43:32 +02:00
Eelke Klein
ae86fef2b4 Merge branch 'gen-code-for-query' into 'master'
Gen code for query

See merge request eelke/pgLab!3
2018-09-23 08:38:07 +00:00
Eelke Klein
bab75d1671 Merge branch 'cherry-pick-da45929b' into 'master'
Fix SqlLexer test

See merge request eelke/pgLab!2
2018-09-21 09:43:46 +00:00
eelke
5a2e28b6d9 Fix SqlLexer test
(cherry picked from commit da45929b12)
2018-09-21 09:43:23 +00:00
eelke
092ed67d5e Working on generating string literals for inclusion in generated code. 2018-09-21 11:41:20 +02:00
eelke
0c3bb27e58 Further improvements to codegeneration the defaultcpp config is now called the PgLab
config as it is very specific to the PgLab codebase.

More hard programmed templates moved out of codebuilder to the language config.
2018-09-19 09:55:43 +02:00
eelke
0ba632afd1 The getAsArray variation that uses a default value for NULL elements crashed when the
array value itself was NULL.

Choosen to return without error adding zero elements to the list. If you really need strict NULL handling do this
using the other functions possibly checking for null before hand to choose other code path.
2018-09-19 08:45:01 +02:00
eelke
8d3bddfa1e Moved implementations from header to cpp. 2018-09-19 08:25:58 +02:00
eelke
e4ccd93b09 Better support for boost::optional in database layer. 2018-09-19 08:25:23 +02:00
eelke
780d912cd1 Adjusted project files for new boost version.
This should be handled differently the location of boost should not be baked into the project files.
2018-09-18 20:24:54 +02:00
eelke
f5145f36ed wip: codegenerator, basic widget present for showing the generated code and specifying
parameters. Some code is also generated but it is not complete yet.

minimum still required
- field assignments
- properly format and escape the query string
2018-09-18 11:54:43 +02:00
eelke
daf9536bed Moved typemapping test code to its own unit so it is clearer that the tests exist 2018-09-18 07:45:49 +02:00
eelke
c13bbde2e4 Put the FormatToStream function in its own compilation unit as it might
be useful for other things to.
2018-09-17 15:43:26 +02:00
eelke
22bad8fb22 Added name mangling tests. 2018-09-17 15:41:47 +02:00
eelke
8f4845d4d2 Lot of code for generating code. Working on unit tests. 2018-09-09 21:04:23 +02:00
eelke
da45929b12 Fix SqlLexer test 2018-09-09 16:20:30 +02:00
Eelke Klein
425f4eccbe Merge branch 'flexible-models' into 'master'
Flexible models

See merge request eelke/pgLab!1
2018-09-02 10:30:30 +00:00
Eelke Klein
8b7bbec807 Flexible models 2018-09-02 10:30:30 +00:00
eelke
50cb21b6f9 The list of indexes on a table now also shows the access method (ie btree) 2018-08-25 18:11:12 +02:00
eelke
7c4f1a4752 fix: the source views for constraints and indexes are now cleared when the
model is reset as this will clear all selections.

Unfortunatly the selection model does not trigger a selectionChanged when
the model is reset.

Close #16
2018-08-05 11:57:27 +02:00
eelke
f1020ac56e Index DROP and CREATE statements are now shown.
For now the create is still single line. Either complex query is required
to get details for custom generator or we need to format after the fact.

Close #12
2018-08-05 11:27:05 +02:00
eelke
78a6666839 WIP moving actions for toolbar to module system. 2018-08-05 09:07:12 +02:00
eelke
f5e9c4b74e Added column number to list of columns of table. 2018-08-05 09:05:56 +02:00
eelke
31afc6fcbf Fix some warning 2018-08-05 09:05:24 +02:00
eelke
ec8c3ff5ec The list of tables can now be sorted by either name,schema or schema,name by clicking on the column headers. 2018-07-07 09:57:59 +02:00
eelke
5b20f900fc Sketched rough parser code construction including some SQL AST classes. 2018-06-19 19:52:56 +02:00
eelke
f3898599fd design docs 2018-05-20 13:44:04 +02:00
eelke
4dd526f32a Icons on action supplied by the PlgPages. 2018-05-20 13:42:30 +02:00
eelke
3d516e6006 First tab at building a mechanism where tabpages can supply a list of actions that are added to the global main toolbar. 2018-05-14 20:24:41 +02:00
eelke
c2d725ec6d Ask confirmation before removing connection.
Close #5
2018-04-30 20:17:44 +02:00
eelke
d67224858d Focus query editor when opening new querytab.
Close #7
2018-04-21 14:36:33 +02:00
eelke
8cb1d6eab3 Permission denied errors are now being ignored while reading the system catalog.
Other parts of the program will have to cope with the fact that not all data will
be available.

Close #4
2018-04-21 10:50:04 +02:00
eelke
65c3d9f2b4 getTypeDisplayString now better handles zero oid's and oid's that are not known in the catalog.
Close #10
2018-04-21 10:23:28 +02:00
eelke
51d72c7f20 Can close CRUD tabs now
Close #6
2018-04-10 20:21:50 +02:00
eelke
45b7d4fcbc show location of error in gutter and as selection
Close #3
2018-04-09 21:44:00 +02:00
eelke
47ee1857cd Added a gutter and currentline highlighting to the SQL editor.
Currently gutter only shows linenumbers. Code is mostly from http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html

There is a little bit included in this commit from a first try to make toobars adept to the current tab.

Code #2
2018-04-08 09:19:32 +02:00
eelke
5e83094e6a Improved way sockets are closed.
Not 100% sure this is allowed by boost::asio thought a code inspection suggest it does as it is ignoring the error it gets on close.
2018-04-08 09:06:05 +02:00
eelke
61645d44ac Show moer information about the indexes. 2018-04-08 09:04:38 +02:00
eelke
8c20bd6a02 Added delete support to the CRUD system. 2018-04-08 09:03:03 +02:00
eelke
36f5153091 Only allow editing of tables that have a primary key. 2018-02-18 12:10:09 +01:00
eelke
09d5c1e41a The crud now support inserting new rows 2018-02-18 08:37:59 +01:00
eelke
c51bd7594d Data in crud table wasn't shown as it was supposed to. 2018-02-18 08:32:38 +01:00
eelke
2ba68d4edc fix: editing same row only updated the view for first edit
Was programming error emplace only inserts new keys into map if key exists it fails.
Neede to use insert_or_assign to get desired behaviour.
2018-02-18 07:23:59 +01:00
eelke
628c16e2f4 Updating rows kinda works.
Blocking calls are still used.
2018-02-18 07:15:43 +01:00