Giter Club home page Giter Club logo

mariuz / flamerobin Goto Github PK

View Code? Open in Web Editor NEW
210.0 37.0 63.0 33.07 MB

FlameRobin is a database administration tool for Firebird RDBMS. Our goal is to build a tool that is: lightweight (small footprint, fast execution) cross-platform (Linux, Windows, Mac OS X, FreeBSD) dependent only on other Open Source software

Home Page: http://flamerobin.org

License: MIT License

Batchfile 0.04% HTML 1.83% Shell 7.14% Inno Setup 0.13% C++ 75.86% C 10.84% Makefile 1.46% M4 1.39% CMake 0.54% WebAssembly 0.77%
wxwidgets cpp firebird sql cplusplus firebirdsql

flamerobin's Introduction

FlameRobin

FlameRobin is a software package for administration of Firebird DBMS. It is developed by:

  • Milan Babuskov
  • Nando Dessena
  • Michael Hieke
  • Gregory Sapunkov
  • Bart Bakker
  • Marius Popa

The following people also made a significant non-coding contributions:

  • Alex Stanciu
  • Barbara Del Vecchio

Notice: Now you can download latest Windows snapshot builds directly from the Build Flamerobin for Windows Action

License

FlameRobin code is licensed under the MIT license. A copy of the license can be found in the LICENSE file

Part of code covering IBPP library is licensed under IBPP license. A copy of IBPP license can be found in src/ibpp folder.

Some icons are licensed under LGPL license. A copy of LGPL license can be found in res folder.

flamerobin's People

Contributors

andy-123 avatar arvanus avatar blumf avatar cbs-tt avatar jdochoa avatar khalyutin avatar mapopa avatar mariuz avatar markusbeth avatar nleonardt95 avatar palob avatar real-dam avatar rlakis avatar rudolfgrauberger avatar thankap avatar thezbyg avatar tomas2d avatar tutul- avatar wolf-so avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flamerobin's Issues

Question: Installing in El Captain

Hi. I Have a mac with OS el captain and it does not seen to be possible installing flamerobin.
I tried with the dmg file (0.9.2) in the download section on the web-site

I need to do something do make it work?

firebird 3 - cant change table from null to not null

code generated by flame robin is this

UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = 1
WHERE RDB$FIELD_NAME = 'STOKADI' AND RDB$RELATION_NAME = 'STOK_HAREKETLERI';

error mesage

Preparing statement:  
UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = 1
WHERE RDB$FIELD_NAME = 'STOKADI' AND RDB$RELATION_NAME = 'STOK_HAREKETLERI'
Statement prepared (elapsed time: 0.000s).
PLAN (RDB$RELATION_FIELDS INDEX (RDB$INDEX_15))


Executing statement...
Error: *** IBPP::SQLException ***
Context: Statement::Execute(  
UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG = 1
WHERE RDB$FIELD_NAME = 'STOKADI' AND RDB$RELATION_NAME = 'STOK_HAREKETLERI' )
Message: isc_dsql_execute2 failed

SQL Message : -902
can't format message 13:98 -- message file C:\Windows\SYSTEM32\firebird.msg not found

Engine Code    : 335545030
Engine Message :
UPDATE operation is not allowed for system table RDB$RELATION_FIELDS


Total execution time: 0.005s


Does not Support new Firebird 3.X DataTypes

Does not support BIGINT and BOOLEAN data types (likely others). Cannot display metadata properly, and cannot perform selects. Essentially tool is now useless if using newer types. Great tool, would love to see it updated.

MacOS 10.11 SDK Compiling issue [macOS Catalina rush.]

I am trying to Compile FlameRobin and get 64bit version before macOS Catalina kill all 32-bit apps.

--- FlameRobin x64 journey ---

1.install FireBird from https://github.com/FirebirdSQL/firebird/releases/download/R2_5_9/FirebirdCS-2.5.9-27139-x86_64.pkg

  1. Download and place SDK to /Developer/SDKs/MacOSX10.11.sdk
    source: [email protected]:phracker/MacOSX-SDKs.git

  2. brew install [email protected] // [encounter some issue with Boost 1.71.0]

  3. brew install autoconf

  4. install wxWidgets 3.1.2

source:https://www.wxwidgets.org/downloads/
unzip first
cd debug
../configure --disable-shared --enable-stl --with-cxx=11 --with-macosx-sdk=/Developer/SDKs/MacOSX10.11.sdk --enable-debug --enable-debug_gdb --disable-optimise --prefix=$HOME && make -j4 install
sudo ./configure --with-cocoa --with-macosx-version-min=10.11 --with-macosx-sdk=/Developer/SDKs/MacOSX10.11.sdk CXXFLAGS="-stdlib=libc++ -std=c++11" OBJCXXFLAGS="-stdlib=libc++ -std=c++11" CPPFLAGS="-stdlib=libc++" LDFLAGS="-stdlib=libc++" CXX=clang++ CXXCPP="clang++ -E" CC=clang CPP="clang -E" --enable-debug --enable-debug_gdb --disable-optimise && make -j6
sudo make install

  1. In FlameRobin directory, use the following configure command to generate the makefile for MacOS

// Final configuration (64 bit)
./configure --disable-debug --disable-dependency-tracking CFLAGS="-m64 -stdlib=libc++ -mmacosx-version-min=10.11 -isysroot /Developer/SDKs/MacOSX10.11.sdk" LDFLAGS="-stdlib=libc++ -Wl,-syslibroot,/Developer/SDKs/MacOSX10.11.sdk -Wl,-macosx_version_min -Wl,10.11" CXXFLAGS="-m64 -stdlib=libstdc++ -mmacosx-version-min=10.11 -isysroot /Developer/SDKs/MacOSX10.11.sdk" --with-boost=/usr/local/Cellar/[email protected]/1.55.0_1 --with-wx-config=/usr/local/bin/wx-config

Generate makefile successfully.

// After configuration
make

I have encounter following error with the make command.

"""
make
cd . && ./update-revision-info.sh
clang++ -arch x86_64 -o flamerobin flamerobin_addconstrainthandler.o flamerobin_Config.o flamerobin_DatabaseConfig.o flamerobin_ArtProvider.o flamerobin_CodeTemplateProcessor.o flamerobin_FRError.o flamerobin_Observer.o flamerobin_ProgressIndicator.o flamerobin_StringUtils.o flamerobin_Subject.o flamerobin_TemplateProcessor.o flamerobin_URIProcessor.o flamerobin_Visitor.o flamerobin_databasehandler.o flamerobin_MetadataLoader.o flamerobin_frprec.o flamerobin_frutils.o flamerobin_AboutBox.o flamerobin_AdvancedMessageDialog.o flamerobin_AdvancedSearchFrame.o flamerobin_BackupFrame.o flamerobin_BackupRestoreBaseFrame.o flamerobin_BaseDialog.o flamerobin_BaseFrame.o flamerobin_CommandManager.o flamerobin_ConfdefTemplateProcessor.o flamerobin_ContextMenuMetadataItemVisitor.o flamerobin_ControlUtils.o flamerobin_DataGrid.o flamerobin_DataGridRowBuffer.o flamerobin_DataGridRows.o flamerobin_DataGridTable.o flamerobin_DBHTreeControl.o flamerobin_DndTextControls.o flamerobin_LogTextControl.o flamerobin_PrintableHtmlWindow.o flamerobin_TextControl.o flamerobin_CreateIndexDialog.o flamerobin_DataGeneratorFrame.o flamerobin_DatabaseRegistrationDialog.o flamerobin_EditBlobDialog.o flamerobin_EventWatcherFrame.o flamerobin_ExecuteSqlFrame.o flamerobin_ExecuteSql.o flamerobin_FieldPropertiesDialog.o flamerobin_FindDialog.o flamerobin_FRLayoutConfig.o flamerobin_GUIURIHandlerHelper.o flamerobin_HtmlHeaderMetadataItemVisitor.o flamerobin_HtmlTemplateProcessor.o flamerobin_InsertDialog.o flamerobin_MainFrame.o flamerobin_MetadataItemPropertiesFrame.o flamerobin_MultilineEnterDialog.o flamerobin_PreferencesDialog.o flamerobin_PreferencesDialogSettings.o flamerobin_PrivilegesDialog.o flamerobin_ProgressDialog.o flamerobin_ReorderFieldsDialog.o flamerobin_RestoreFrame.o flamerobin_ServerRegistrationDialog.o flamerobin_SimpleHtmlFrame.o flamerobin_StatementHistoryDialog.o flamerobin_StyleGuide.o flamerobin_UserDialog.o flamerobin_UsernamePasswordDialog.o flamerobin_logger.o flamerobin_main.o flamerobin_MasterPassword.o flamerobin_column.o flamerobin_constraints.o flamerobin_CreateDDLVisitor.o flamerobin_database.o flamerobin_domain.o flamerobin_exception.o flamerobin_function.o flamerobin_generator.o flamerobin_Index.o flamerobin_metadataitem.o flamerobin_MetadataItemCreateStatementVisitor.o flamerobin_MetadataItemDescriptionVisitor.o flamerobin_MetadataItemURIHandlerHelper.o flamerobin_MetadataItemVisitor.o flamerobin_MetadataTemplateCmdHandler.o flamerobin_MetadataTemplateManager.o flamerobin_parameter.o flamerobin_privilege.o flamerobin_procedure.o flamerobin_relation.o flamerobin_role.o flamerobin_root.o flamerobin_server.o flamerobin_table.o flamerobin_trigger.o flamerobin_User.o flamerobin_view.o flamerobin_objectdescriptionhandler.o flamerobin_Identifier.o flamerobin_IncompleteStatement.o flamerobin_MultiStatement.o flamerobin_SelectStatement.o flamerobin_SqlStatement.o flamerobin_SqlTokenizer.o flamerobin_StatementBuilder.o flamerobin_statementHistory.o flamerobin_StyleGuideMAC.o -L. -stdlib=libc++ -Wl,-syslibroot,/Developer/SDKs/MacOSX10.11.sdk -Wl,-macosx_version_min -Wl,10.11 -L/usr/local/lib -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -lwx_osx_cocoau_aui-3.1 -lwx_osx_cocoau_stc-3.1 -lwx_osx_cocoau_xrc-3.1 -lwx_osx_cocoau_html-3.1 -lwx_osx_cocoau_qa-3.1 -lwx_osx_cocoau_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1 -L/usr/local/Cellar/[email protected]/1.55.0_1/lib -Wl,-rpath,/usr/local/Cellar/[email protected]/1.55.0_1/lib -lboost_thread-mt -lboost_system-mt -pthread -L/usr/local/Cellar/[email protected]/1.55.0_1/lib -Wl,-rpath,/usr/local/Cellar/[email protected]/1.55.0_1/lib -lboost_chrono-mt -libpp -F /Library/Frameworks/Firebird.framework
ld: warning: passed two min versions (10.14.0, 10.11) for platform macOS. Using 10.11.
Undefined symbols for architecture x86_64:
"_fb_interpret", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_array_get_slice", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_array_lookup_bounds", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_array_put_slice", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_attach_database", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_blob_info", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_cancel_blob", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_cancel_events", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_close_blob", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_commit_retaining", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_commit_transaction", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_create_blob2", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_create_database", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_database_info", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_detach_database", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_drop_database", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_allocate_statement", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_describe", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_describe_bind", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_execute", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_execute2", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_execute_immediate", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_fetch", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_free_statement", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_prepare", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_set_cursor_name", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_dsql_sql_info", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_get_segment", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_open_blob2", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_put_segment", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_que_events", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_rollback_retaining", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_rollback_transaction", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_service_attach", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_service_detach", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_service_query", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_service_start", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_sql_interprete", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_sqlcode", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_start_multiple", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
"_isc_vax_integer", referenced from:
ibpp_internals::FBCLIENT::Call() in libibpp.a(ibpp__ibpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [flamerobin] Error 1 """

Here is FlameRobin makefile. Let's build a FlameRobin 64bit for Mac Together, Any help will be appreciated !!!
Makefile.txt

Confusing phrasing on Flamerobin home page

On the Flamerobin homepage, there we still read

Flamerobin github mirror
18 November 2015 There is a github mirror where you can send pull requests for flamerobin https://github.com/mariuz/flamerobin.

But I think this needs an update to not confuse people. It's still possible to edit the code on SF, but I don't believe that the team was split up at the time you started FR development on GitHub.

Datatype BOOLEAN doesn't show in Flamerobin

When creating a table with a 'BOOLEAN' column,
this column does show in Flamerobin, but with the datatype "(1)".
This strange definition also shows in the generated DDL

This is the table definition

CREATE TABLE PRICE_LIST
(
NAME VARCHAR(100),
PRICE_EX DECIMAL(14,2),
PRICE_VAT DECIMAL(14,2),
PRICE_INC COMPUTED BY (price_ex + price_vat),
DONE BOOLEAN
);

See attached file for FlameRobin view
flamerobinboolean

fr_databases.conf is storing passwords in plain text

fr_databases.conf is storing passwords in plain text when the Authentication option Used saved user name and password is used. I understand that if a machine is compromised and this authentication option is currently being used, that an attacker would be able to gain access to the database anyways. However, it is bad practice to store passwords in plain text.

Built?

Is it possible to get a built version for Windows?
Why aren't any new release?
Thanks

Compatibility (<FB2.0) and Development (FlameRobin2)

If the current version will not be able to handle old (< v2.0) databases correctly, than the whole program should be renamed and installed into a different directory with different name from now on! I suggest Simply:
'FlameRobin2'
So users would at least have a chance to install both old and new version to the same system without interfering. ;-)

This method would be also very practical for the current development!
Because many of us, who use the prev. stable version daily, can simply install the new next to the old and compare...

Please not forget about: c:\Users\...\AppData\Local\flamerobin\ too...
While installing the first time, it could run a simply 'import wizard" = copy script to get the :
fr_settings.conf + fr_databases.conf + history directory from the old one.
(Because code-templates will be updated to new, since the old is buggy: can not insert BigSmallCase field names with "Quotes". )
... or, if it's easier: put a new menu under Databases> Tools> Import from FlameRobin1 to do some simple file-copy.

(IMHO we should not make the same mistake Firebird engine developers did when they have switched to FB3 and blocked the prev. versions to work with. Simply renaming the project would make it possible to coexist. :-) )

FlameRobin should suggest the Default value for the database page size

  • FlameRobin should suggest the Default value for the database page size instead of 4096 when creating a new database after installed the FlameRobin for the first time.
  • The default size of the database pages is growing (Firebird25 = 4096 / Firebird30 = 8192) and it is important that FlameRobin always suggests using the default database page size the first time it is used.

Untitled

Support for wxwidgets 3.x with no 2.8 emulation

Replace with compatible functions from 3.x
https://github.com/wxWidgets/wxWidgets/blob/81570ae070b35c9d52de47b1f14897f3ff1a66c7/include/wx/generic/grid.h#L1696

./src/gui/controls/DataGrid.cpp: In member function ‘std::vector DataGrid::getColumnsWithSelectedCells()’:
./src/gui/controls/DataGrid.cpp:709:42: error: ‘GetCols’ was not declared in this scope
return std::vector(GetCols(), true);
^
./src/gui/controls/DataGrid.cpp:711:35: error: ‘GetCols’ was not declared in this scope
std::vector ret(GetCols(), false);
^
./src/gui/controls/DataGrid.cpp: In member function ‘std::vector DataGrid::getRowsWithSelectedCells()’:
./src/gui/controls/DataGrid.cpp:743:42: error: ‘GetRows’ was not declared in this scope
return std::vector(GetRows(), true);
^
./src/gui/controls/DataGrid.cpp:745:35: error: ‘GetRows’ was not declared in this scope
std::vector ret(GetRows(), false);
^
./src/gui/controls/DataGrid.cpp: In member function ‘std::vector DataGrid::getSelectedCellsInRow(int)’:
./src/gui/controls/DataGrid.cpp:780:46: error: ‘GetCols’ was not declared in this scope
return std::vector(GetCols(), true);
^
./src/gui/controls/DataGrid.cpp:783:35: error: ‘GetCols’ was not declared in this scope
std::vector ret(GetCols(), false);
^
./src/gui/controls/DataGrid.cpp: In member function ‘wxGridCellCoordsArray DataGrid::getSelectedCells()’:
./src/gui/controls/DataGrid.cpp:836:37: error: ‘GetCursorRow’ is not a member of ‘wxGrid’
result.Add(wxGridCellCoords(wxGrid::GetCursorRow(),wxGrid::GetCursorColumn()));
^
./src/gui/controls/DataGrid.cpp:836:60: error: ‘GetCursorColumn’ is not a member of ‘wxGrid’
result.Add(wxGridCellCoords(wxGrid::GetCursorRow(),wxGrid::GetCursorColumn()));
^

Crash in MSVCP140D.dll on typing period

I am running FlameRobin 0.9.3 (git hash c75f861), on a machine that also has VS2013 (no later version). When I open (Database menu | Execute SQL statements) and type the following SQL, the moment I hit the final period after NEW the program crashes (screen cap attached).

It would seem from the crash message that this version of FlameRobin is built against a debug DLL. Note that repeating the steps above in FlameRobin 0.9.3.2219.

CREATE TABLE VUSER
(
ID integer NOT NULL,
RDBUSER varchar(31) COLLATE UNICODE NOT NULL,
GUID char(16) NOT NULL,
STATUS integer NOT NULL,
EMAIL varchar(255) COLLATE UNICODE,
DOMAINUSER varchar(255) COLLATE UNICODE,
DOMAINNAME varchar(255) COLLATE UNICODE,
NOTES varchar(255) COLLATE UNICODE,
CREATEDBY integer NOT NULL,
CREATEDATE timestamp NOT NULL,
MODBY integer NOT NULL,
MODDATE timestamp NOT NULL,
CONSTRAINT INTEG_25 PRIMARY KEY (ID)
);
CREATE INDEX IDXPATIENTDATABASEID ON PATIENT (DATABASEID);

CREATE GENERATOR VUSERGEN;

CREATE TRIGGER VUSERTRIG FOR VUSER
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.

screenshot - 12_14_2016 4_46_29 pm

Problems reading from Google Drive File Stream (26.1.42.2151) on Windows 10 (1803)

When trying to import a database located on DFS on Windows 10 Pro, the following error occurs:

Database restore started 14:54:11
Database restore canceled 14:54:11 due to IBPP exception:

*** IBPP::SQLException ***
Context: ServiceImpl::Wait
Message: isc_service_query failed

SQL Message : -901
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements

Engine Code    : 336330817
Engine Message :
cannot open backup file G:\My Drive\Database.fbk
Exiting before completion due to errors

It makes no difference if the file is made available offline.

Opening the file in other applications works fine, copying it to a local drive and loading it works fine too.

Google Support was not helpful at all. My guess is that Flamerobin is using slightly non-standard ways of reading and writing files.

MacOS dmg for 0.9.3

Attached is a MacOS dmg for flamerobin 0.9.3. It was built from the master branch in Sierra using packages from Macports instead of Brew. The system uses a localized Framework so that users can just install the application bundle to Applications and run it. The first time flamerobin is run, there will be a warning message that the configuration file does not exist; this is normal.

flamerobin-0.9.3.1.dmg.zip

Error trying to build on Windows

Hi, I´m following this link http://flamerobin.blogspot.com/2015/11/flamerobin-building-instructions-for.html
to build using VS2015 (I was using Mingw previuslly)
Everything goes fine while building boost-1.62.0 and wxWidgets-3.1.3
But when I try to build Flamerobin from cmd:

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
set WXDIR=D:\wxWidgets-3.1.3
set WXWIN=D:\wxWidgets-3.1.3
set BOOST_ROOT=D:\\boost_1_62_0
set BOOST_LIB_DIR=D:\boost_1_62_0\stage\lib
cd flamerobinRepoDir
nmake -f makefile.vc FINAL=0 USEDLL=0


I get this error:

Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.

update-revision-info.cmd
cl /c /nologo /TP /Fovcud\flamerobin_frprec.obj /MDd /DWIN32 /Zi /D_DEBUG /Fdvcud\flamerobin.pdb /Od /W4 /D__WXDEBUG__ /D_DEBUG /D_WINDOWS /D__WINDOWS__ /DWINVER=0x400 /DWIN32 /D__WIN32__ /D__WIN95__ /DSTRICT /D__WXMSW__ /DwxUSE_GUI=1 /DwxUSE_REGEX=1 /DwxUSE_UNICODE=1 /DWIN32_LEAN_AND_MEAN /ID:\wxWidgets-3.1.3\lib\vc_lib\mswud /ID:\wxWidgets-3.1.3\contrib\include /ID:\wxWidgets-3.1.3\include /ID:\boost_1_62_0 /D_WINDOWS /DIBPP_WINDOWS /I. /I.\src /I.\src\ibpp /I.\res /GR /EHsc /Yu"wx/wxprec.h" /Fp"vcud\flamerobin.pch" /Ycwx/wxprec.h .\src\frprec.cpp
frprec.cpp
D:\wxWidgets-3.1.3\include\wx/msw/private.h(1062): error C2065: 'WS_EX_LAYOUTRTL': undeclared identifier
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

Googling for a response, I just got to this link https://forums.wxwidgets.org/viewtopic.php?t=42050
that suggests do specifying WINVER=0X0500 in the "Preprocessor Definitions" section. but got the same error

Can someone give a idea of what to do?
Thanks

flamerobin_ExecuteSqlFrame.o: en la función `ExecuteSqlFrame::execute(wxString, wxString const&, bool)':

g++ -o flamerobin flamerobin_addconstrainthandler.o flamerobin_Config.o flamerobin_DatabaseConfig.o flamerobin_ArtProvider.o flamerobin_CodeTemplateProcessor.o flamerobin_FRError.o flamerobin_Observer.o flamerobin_ProgressIndicator.o flamerobin_StringUtils.o flamerobin_Subject.o flamerobin_TemplateProcessor.o flamerobin_URIProcessor.o flamerobin_Visitor.o flamerobin_databasehandler.o flamerobin_MetadataLoader.o flamerobin_frprec.o flamerobin_frutils.o flamerobin_AboutBox.o flamerobin_AdvancedMessageDialog.o flamerobin_AdvancedSearchFrame.o flamerobin_BackupFrame.o flamerobin_BackupRestoreBaseFrame.o flamerobin_BaseDialog.o flamerobin_BaseFrame.o flamerobin_CommandManager.o flamerobin_ConfdefTemplateProcessor.o flamerobin_ContextMenuMetadataItemVisitor.o flamerobin_ControlUtils.o flamerobin_DataGrid.o flamerobin_DataGridRowBuffer.o flamerobin_DataGridRows.o flamerobin_DataGridTable.o flamerobin_DBHTreeControl.o flamerobin_DndTextControls.o flamerobin_LogTextControl.o flamerobin_PrintableHtmlWindow.o flamerobin_TextControl.o flamerobin_CreateIndexDialog.o flamerobin_DataGeneratorFrame.o flamerobin_DatabaseRegistrationDialog.o flamerobin_EditBlobDialog.o flamerobin_EventWatcherFrame.o flamerobin_ExecuteSqlFrame.o flamerobin_ExecuteSql.o flamerobin_FieldPropertiesDialog.o flamerobin_FindDialog.o flamerobin_FRLayoutConfig.o flamerobin_GUIURIHandlerHelper.o flamerobin_HtmlHeaderMetadataItemVisitor.o flamerobin_HtmlTemplateProcessor.o flamerobin_InsertDialog.o flamerobin_MainFrame.o flamerobin_MetadataItemPropertiesFrame.o flamerobin_MultilineEnterDialog.o flamerobin_PreferencesDialog.o flamerobin_PreferencesDialogSettings.o flamerobin_PrivilegesDialog.o flamerobin_ProgressDialog.o flamerobin_ReorderFieldsDialog.o flamerobin_RestoreFrame.o flamerobin_ServerRegistrationDialog.o flamerobin_SimpleHtmlFrame.o flamerobin_StatementHistoryDialog.o flamerobin_StyleGuide.o flamerobin_UserDialog.o flamerobin_UsernamePasswordDialog.o flamerobin_logger.o flamerobin_main.o flamerobin_MasterPassword.o flamerobin_column.o flamerobin_constraints.o flamerobin_CreateDDLVisitor.o flamerobin_database.o flamerobin_domain.o flamerobin_exception.o flamerobin_function.o flamerobin_generator.o flamerobin_Index.o flamerobin_metadataitem.o flamerobin_MetadataItemCreateStatementVisitor.o flamerobin_MetadataItemDescriptionVisitor.o flamerobin_MetadataItemURIHandlerHelper.o flamerobin_MetadataItemVisitor.o flamerobin_MetadataTemplateCmdHandler.o flamerobin_MetadataTemplateManager.o flamerobin_parameter.o flamerobin_privilege.o flamerobin_procedure.o flamerobin_relation.o flamerobin_role.o flamerobin_root.o flamerobin_server.o flamerobin_table.o flamerobin_trigger.o flamerobin_User.o flamerobin_view.o flamerobin_objectdescriptionhandler.o flamerobin_Identifier.o flamerobin_IncompleteStatement.o flamerobin_MultiStatement.o flamerobin_SelectStatement.o flamerobin_SqlStatement.o flamerobin_SqlTokenizer.o flamerobin_StatementBuilder.o flamerobin_statementHistory.o flamerobin_StyleGuideGTK.o -L. -L/usr/lib/x86_64-linux-gnu -pthread -lwx_gtk3u_unofficial_aui-3.0 -lwx_gtk3u_unofficial_stc-3.0 -lwx_gtk3u_unofficial_xrc-3.0 -lwx_gtk3u_unofficial_webview-3.0 -lwx_gtk3u_unofficial_html-3.0 -lwx_gtk3u_unofficial_qa-3.0 -lwx_gtk3u_unofficial_adv-3.0 -lwx_gtk3u_unofficial_core-3.0 -lwx_baseu_unofficial_xml-3.0 -lwx_baseu_unofficial_net-3.0 -lwx_baseu_unofficial-3.0 -lboost_thread -lboost_system -pthread -lboost_chrono -libpp -lfbclient
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 5fb7a
/usr/bin/ld: DWARF error: could not find variable specification at offset 5fbb1
/usr/bin/ld: DWARF error: could not find variable specification at offset 5fb6c
/usr/bin/ld: DWARF error: could not find variable specification at offset 5e788
/usr/bin/ld: DWARF error: could not find variable specification at offset 5e7bf
/usr/bin/ld: DWARF error: could not find variable specification at offset 5e77a
/usr/bin/ld: DWARF error: could not find variable specification at offset 605c6
/usr/bin/ld: DWARF error: could not find variable specification at offset 606b4
/usr/bin/ld: DWARF error: could not find variable specification at offset 607a2
/usr/bin/ld: DWARF error: could not find variable specification at offset 60890
/usr/bin/ld: DWARF error: could not find variable specification at offset 6097e
/usr/bin/ld: DWARF error: could not find variable specification at offset 60a6c
/usr/bin/ld: DWARF error: could not find variable specification at offset 60b5a
/usr/bin/ld: DWARF error: could not find variable specification at offset 60c48
/usr/bin/ld: DWARF error: could not find variable specification at offset 60d36
/usr/bin/ld: DWARF error: could not find variable specification at offset 60e24
/usr/bin/ld: DWARF error: could not find variable specification at offset 60f12
/usr/bin/ld: DWARF error: could not find variable specification at offset 61138
/usr/bin/ld: DWARF error: could not find variable specification at offset b314
/usr/bin/ld: DWARF error: could not find variable specification at offset b372
/usr/bin/ld: DWARF error: could not find variable specification at offset b3dc
/usr/bin/ld: DWARF error: could not find variable specification at offset 2ba92
/usr/bin/ld: DWARF error: could not find variable specification at offset 2ba9e
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c0ad
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c0f4
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c13b
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c732
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c761
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c79c
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c7a8
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c7e3
/usr/bin/ld: DWARF error: could not find variable specification at offset 2c7ef
flamerobin_ExecuteSqlFrame.o: en la función ExecuteSqlFrame::execute(wxString, wxString const&, bool)': /mnt/Almacen1TB/flamerobin-master/release/../src/gui/ExecuteSqlFrame.cpp:2398: referencia a InsertParametersDialog::InsertParametersDialog(wxWindow*, IBPP::PtrIBPP::IStatement&, Database*, std::map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, wxString, std::less<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator > const, wxString> > >&)' sin definir
collect2: error: ld returned 1 exit status
make: *** [Makefile:271: flamerobin] Error 1

Cannot search on Flamerobin Main Window Linux Mint

Hello,

I'm using FlameRobin on Linux Mint 18, "MATE" version, if I type just a letter in the search bar, it shows an error (see attached image), if I click in 'continue' it keeps showing the message, if I click 'stop' it closes.
If I type in the search bar the letter 'a', it goes to a table that starts with 'a', but if I type 'v', it shows the error.
erroflamerobin

Random blank screen at connection

Randomly occurs:
image
Expected behavior:
image

Anyone got this problem too?
I don't know if it's a build problem, some cross-compile wxWidget error or another thing like that
@mariuz had you gotten this too?

Change SQL statement editor's background color?

I'm not sure whether this is a question about GTK theming or an actual feature request.

It would be nice to be able to change the color scheme of the SQL statement window / editor. Especially the white background color which is very bright and not ideal for long hours of work. Changing the font colors would be needed as well then.

Is this hardcoded in Flamerobin? I suspect as much since the syntax highlighting has its own set of colors too. But perhaps this is possible through GTK theming? Not very familiar with this yet.

Running on Arch Linux, GTK theme is Adwaita Dark.

Set Nullability on FB3

Change Not-Null status of colums still relies on writing system table RDB$RELATION_FIELDS, that is read-only in FB3.

DDL extraction showing duplicated grant values

Example:
GRANT DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, INSERT, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, REFERENCES, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, SELECT, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE, UPDATE
ON TABLE_NAME TO PROCEDURE SP_NAME WITH GRANT OPTION;

Apparently If de SP has more than 1 grant to another users for some table, it will appear

Lots of assert errors

Example: when you go to Privileges tab of a table, and click at "Grant and revoke privileges"
Error occurs at wxWidgets 3.1.3
image
(I know that I can disable assert dialog, but I hasn't tried to do it yet)

Failed to build on NixOS

I'm trying to build it on NIxOS. First, I would do a ./configure:

$ ./configure --disable-debug
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /nix/store/9jj37ws95k26k8cba52a7lfz8p2f4d3l-gnused-4.2.2/bin/sed
checking for grep that handles long lines and -e... /nix/store/sb5x3l645wrmsvxr8k6rsdg0zwg0p8il-gnugrep-2.22/bin/grep
checking for egrep... /nix/store/sb5x3l645wrmsvxr8k6rsdg0zwg0p8il-gnugrep-2.22/bin/grep -E
checking for fgrep... /nix/store/sb5x3l645wrmsvxr8k6rsdg0zwg0p8il-gnugrep-2.22/bin/grep -F
checking for ld used by gcc... /nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld
checking if the linker (/nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /nix/store/s0kpgl8a101lkymj599f5a04s4wflf5s-binutils-2.26-dev/bin/nm -B
checking the name lister (/nix/store/s0kpgl8a101lkymj599f5a04s4wflf5s-binutils-2.26-dev/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... gawk
checking command to parse /nix/store/s0kpgl8a101lkymj599f5a04s4wflf5s-binutils-2.26-dev/bin/nm -B output from gcc object... ok
checking for sysroot... no
./configure: line 5721: /usr/bin/file: No such file or directory
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld
checking if the linker (/nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld) is GNU ld... yes
checking whether the g++ linker (/nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/nix/store/ix03iknfgyrx7421fppjdczd9r4sw7pz-gcc-wrapper-5.3.0/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for wx-config... /nix/store/8x5ss33y16bs97s8yybhka4xr5wqnk29-wxwidgets-3.0.2/bin/wx-config
checking for wxWidgets version >= 3.0.0... yes (version 3.0.2)
checking for wxWidgets static library... no
checking for Boost headers version >= 0.0.0... yes
checking for Boost's header version... 1_60
checking boost/bind.hpp usability... yes
checking boost/bind.hpp presence... yes
checking for boost/bind.hpp... yes
checking boost/function.hpp usability... yes
checking boost/function.hpp presence... yes
checking for boost/function.hpp... yes
checking boost/scoped_ptr.hpp usability... yes
checking boost/scoped_ptr.hpp presence... yes
checking for boost/scoped_ptr.hpp... yes
checking boost/shared_ptr.hpp usability... yes
checking boost/shared_ptr.hpp presence... yes
checking for boost/shared_ptr.hpp... yes
checking for the flags needed to use pthreads... -pthread
checking for the toolset name used by Boost for g++... configure: WARNING: could not figure out which toolset name to use for g++

checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... yes
checking boost/thread.hpp usability... yes
checking boost/thread.hpp presence... yes
checking for boost/thread.hpp... yes
checking for the Boost thread library... (cached) yes
checking for library containing isc_attach_database... -lfbclient
checking whether we are using the Intel C compiler... no
checking whether we are using the Intel C++ compiler... no
checking whether we are using the Sun C++ compiler... no
checking for a BSD-compatible install... /nix/store/7b38vz4w4rjwwww3k53h4s4ysf1ff4gx-coreutils-8.25/bin/install -c
checking for ranlib... (cached) ranlib
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for ar... (cached) ar
checking for strip... (cached) strip
checking for nm... /nix/store/s0kpgl8a101lkymj599f5a04s4wflf5s-binutils-2.26-dev/bin/nm -B
checking for command to install directories... /nix/store/7b38vz4w4rjwwww3k53h4s4ysf1ff4gx-coreutils-8.25/bin/install -c -d
checking if make is GNU make... yes
checking for dependency tracking method... gcc
checking if the compiler supports precompiled headers... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating frconfig.h
config.status: executing libtool commands

But the make throws an error:

$ make
cd . && ./update-revision-info.sh
/tmp/flamerobin/bk-make-pch ./.pch/flamerobin/wx/wxprec.h.gch wx/wxprec.h g++ -I./.pch/flamerobin -DHAVE_FRCONFIG_H   -DIBPP_LINUX -I. -I./src -I./src/ibpp -I./res -I/nix/store/8x5ss33y16bs97s8yybhka4xr5wqnk29-wxwidgets-3.0.2/lib/wx/include/gtk2-unicode-3.0 -I/nix/store/8x5ss33y16bs97s8yybhka4xr5wqnk29-wxwidgets-3.0.2/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread  -pthread -DWX_PRECOMP -g -O2
/nix/store/phffgv3pwihmpdyk8xsz3wv8ydysch8w-glibc-2.23/lib/crt1.o: In function `_start':
/tmp/nix-build-glibc-2.23.drv-0/glibc-2.23/csu/../sysdeps/x86_64/start.S:114: undefined reference to `main'
collect2: error: ld returned 1 exit status
Makefile:277: recipe for target '.pch/flamerobin/wx/wxprec.h.gch' failed
make: *** [.pch/flamerobin/wx/wxprec.h.gch] Error 1

Full example:

$ nix-shell -p wxGTK30 boost firebird --run "./configure --disable-debug && make"

Bottom Search Bar hang application

When you search for anything ant bottom search bar, and you have an active connection FR hangs
I've found what happened, and will deploy a fix in the next days

Code generation is missing "" signs = creating non running queries

Correct form: "FieldName" "TableName" > if (str != UPPER(str) )
Until this is fixed, I recommend replacing the [code-templates] files.

delete.template :

{%kw:where%}{%foreach:column: {%kw:and%} :{%ifcontains:{%getconf:{%object_path%}/whereColumnNames%}:{%object_name%}:
{%tab%}a."{%object_name%}" = '?'%}%}%}

insert.template :

{%kw:values%} ({%foreach:column:, :{%ifcontains:{%getconf:{%object_path%}/columnNames%}:{%object_name%}:
{%tab%}'{%object_name%}{%if:{%columninfo:is_nullable%}::*%}'%}%}
); 

select.template :

{%kw:from%} "{%object_name%}" r {%ifeq:{%countall:{%getconf:{%object_path%}/whereColumnNames%}%}:0:;:
{%kw:where%}{%foreach:column: {%kw:and%} :{%ifcontains:{%getconf:{%object_path%}/whereColumnNames%}:{%object_name%}:
{%tab%}r."{%object_name%}" = '?'%}%}%}

update.template :

{%kw:set%} {%foreach:column:, :{%ifcontains:{%getconf:{%object_path%}/columnNames%}:{%object_name%}:
{%tab%}a."{%object_name%}" = '{%object_name%}{%ifeq:{%columninfo:is_nullable%}:false:*%}'%}%}{%ifeq:{%countall:{%getconf:{%object_path%}/whereColumnNames%}%}:0:;:
{%kw:where%}{%foreach:column: {%kw:and%} :{%ifcontains:{%getconf:{%object_path%}/whereColumnNames%}:{%object_name%}:
{%tab%}a."{%object_name%}" = '?'%}%}%} 

Create Tag

Is this the official repository for Flamerobin? It seems that it is, and the one on S.F. is no longer. Could you do a recent tag of Flamerobin? I want to update the Gentoo package, and seems sources with wxGTK 3.0 stuff is mia. Unfortunately a Gentoo developer removed Flamerobin from Gentoo entirely. I have added the package to my Gentoo overlay. I want to update it to use wxGTK 3.0, but it requires some modifications. It seems those took place in this repository. I can make a live ebuild to pull straight from master, but would be nice to get a tag on this, 0.9.3 maybe, or 0.9.3.1. Thanks!

StatementHistoryDialog strange sizing

I compiled Flamerobin from source code, and at History dialog search left size are using minimal width.
I don't work with wxWidget, so I can't find where to change it, but appears do be at StatementHistoryDialog contructor, any idea what to change, so I cant test and send a fix?

Thanks!

Ps: the user can resize the view at runtime
Default:
image
Manual resizing is ok:
image

Something here, I think:

    mainSplitter = new wxSplitterWindow( getControlsPanel(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D );
    leftSplitterPanel = new wxPanel( mainSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
    wxBoxSizer* leftSplitterSizer = new wxBoxSizer( wxVERTICAL );

    leftSplitterPanel->SetSizer( leftSplitterSizer );
    rightSplitterPanel = new wxPanel( mainSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
    wxBoxSizer* rightSplitterSizer = new wxBoxSizer( wxVERTICAL );
    rightSplitterPanel->SetSizer( rightSplitterSizer );

    mainSplitter->SplitVertically( leftSplitterPanel, rightSplitterPanel, 0 );

    listbox_search = new wxListBox(leftSplitterPanel, ID_listbox_search,
        wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_MULTIPLE);
    leftSplitterSizer->Add(listbox_search, 1, wxTOP|wxEXPAND,
        styleguide().getRelatedControlMargin(wxVERTICAL));
    dateTimeTextM = new wxStaticText(leftSplitterPanel, wxID_ANY,
        _("Date and time of selected item"), wxDefaultPosition, wxDefaultSize, 0);
    leftSplitterSizer->Add(dateTimeTextM, 0, wxTOP|wxEXPAND,
        styleguide().getRelatedControlMargin(wxVERTICAL));

    textctrl_statement = new wxStyledTextCtrl(rightSplitterPanel, wxID_ANY,
        wxDefaultPosition, wxDefaultSize, wxBORDER_THEME);
    textctrl_statement->SetWrapMode(wxSTC_WRAP_WORD);
    textctrl_statement->SetMarginWidth(1, 0);  // turn off the folding margin
    textctrl_statement->StyleSetForeground(1, *wxWHITE);
    textctrl_statement->StyleSetBackground(1, *wxRED);
    textctrl_statement->SetText(_("Selected SQL statement"));
    rightSplitterSizer->Add(textctrl_statement, 1, wxTOP|wxEXPAND,
        styleguide().getRelatedControlMargin(wxVERTICAL));

    leftSplitterPanel->Layout();
    leftSplitterSizer->Fit( leftSplitterPanel );
    rightSplitterPanel->Layout();
    rightSplitterSizer->Fit( rightSplitterPanel );
    innerSizer->Add( mainSplitter, 1, wxEXPAND, 0 );

    button_copy = new wxButton(getControlsPanel(), ID_button_copy,
        _("C&opy Selection To Editor"), wxDefaultPosition, wxDefaultSize, 0);
    button_cancel = new wxButton(getControlsPanel(), wxID_CANCEL,
        _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0);

    wxSizer* sizerButtons = styleguide().createButtonSizer(
        button_copy, button_cancel);

    // use method in base class to set everything up
    layoutSizers(innerSizer, sizerButtons, true);

Error on opening DB objects properties

#On earlier builds I was seeing FR lock-up when trying to open up the Properties dialog for tables/views/etc. Used to happen occasionally, but recently has been consistent.

Trying the new 0.9.3 x64 build there's an improvement in that an error message is displayed:

flamerobin_error

And I can skip the error with 'Cancel', everything seems okay at that point.

Win7 64bit if that help

cant run on winxp

such a nice app, firebird runs on xp but flameRobin doesnt, it says not a win32 app

Can't delete rows from table wit GUID primary key

Any news on this bug?
http://flamerobin.2305948.n4.nabble.com/Can-t-delete-rows-from-table-wit-GUID-primary-key-td3969925.html

Hi,

I'm a happy user of flamerobin, but I have a small problem now:
I have a few tables in which GUID's are used as primary keys. For some
reason I am unable to delete rows from these tables with flamerobin
(0.9.3.2091). I can select them and mark them for removal, but after a
commit the rows are still present. I don't have this issue on tables with
integer primary keys. Also writing and executing the delete statement
manually will remove the rows.

Is this a feature or a bug?

I use flamerobin against Firebird 2.5.1.

Script which creates a table that shows the problem:
/********************* ROLES **********************/

/********************* UDFS ***********************/

/****************** GENERATORS ********************/

/******************** DOMAINS *********************/

/******************* PROCEDURES ******************/

/******************** TABLES **********************/

CREATE TABLE GUIDDEMO
(
GUIDID char(16) CHARACTER SET OCTETS NOT NULL,
SOMECOLUMN1 integer,
SOMECOLUMN2 char(1),
CONSTRAINT INTEG_7 PRIMARY KEY (GUIDID)
);

/********************* VIEWS **********************/

/******************* EXCEPTIONS *******************/

/******************** TRIGGERS ********************/

SET TERM ^ ;
CREATE TRIGGER INSERTDEMO FOR GUIDDEMO ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
/* enter trigger code here */
new.GUIDID = gen_uuid();
END^
SET TERM ; ^

GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE
ON GUIDDEMO TO SYSDBA WITH GRANT OPTION;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.