Kaydet (Commit) 3d2fefd8 authored tarafından Andrzej Hunt's avatar Andrzej Hunt

fdo#72804 Add firebird.msg to install.

This provides saner error messages for malformed
or invalid sql.

Change-Id: I86664db1f1446128bb73e6749f8c00f8313dd414
üst 9bdf5e9d
...@@ -27,7 +27,9 @@ ...@@ -27,7 +27,9 @@
#include <comphelper/processfactory.hxx> #include <comphelper/processfactory.hxx>
#include <cppuhelper/supportsservice.hxx> #include <cppuhelper/supportsservice.hxx>
#include <osl/file.hxx>
#include <osl/process.h> #include <osl/process.h>
#include <rtl/bootstrap.hxx>
#include <svtools/miscopt.hxx> #include <svtools/miscopt.hxx>
using namespace com::sun::star; using namespace com::sun::star;
...@@ -57,6 +59,7 @@ namespace connectivity ...@@ -57,6 +59,7 @@ namespace connectivity
// Static const member variables // Static const member variables
const OUString FirebirdDriver::our_sFirebirdTmpVar("FIREBIRD_TMP"); const OUString FirebirdDriver::our_sFirebirdTmpVar("FIREBIRD_TMP");
const OUString FirebirdDriver::our_sFirebirdLockVar("FIREBIRD_LOCK"); const OUString FirebirdDriver::our_sFirebirdLockVar("FIREBIRD_LOCK");
const OUString FirebirdDriver::our_sFirebirdMsgVar("FIREBIRD_MSG");
FirebirdDriver::FirebirdDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext) FirebirdDriver::FirebirdDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext)
: ODriver_BASE(m_aMutex) : ODriver_BASE(m_aMutex)
...@@ -76,6 +79,16 @@ FirebirdDriver::FirebirdDriver(const ::com::sun::star::uno::Reference< ::com::su ...@@ -76,6 +79,16 @@ FirebirdDriver::FirebirdDriver(const ::com::sun::star::uno::Reference< ::com::su
// Overrides firebird's default of /tmp/firebird or c:\temp\firebird // Overrides firebird's default of /tmp/firebird or c:\temp\firebird
osl_setEnvironment(our_sFirebirdLockVar.pData, m_firebirdLockDirectory.GetFileName().pData); osl_setEnvironment(our_sFirebirdLockVar.pData, m_firebirdLockDirectory.GetFileName().pData);
#ifndef SYSTEM_FIREBIRD
// Overrides firebird's hardcoded default of /usr/local/firebird on *nix,
// however on Windows it seems to use the current directory as a default.
OUString sMsgURL("$BRAND_BASE_DIR/$BRAND_SHARE_SUBDIR/firebird");
::rtl::Bootstrap::expandMacros(sMsgURL);
OUString sMsgPath;
::osl::FileBase::getSystemPathFromFileURL(sMsgURL, sMsgPath);
osl_setEnvironment(our_sFirebirdMsgVar.pData, sMsgPath.pData);
#endif
} }
void FirebirdDriver::disposing() void FirebirdDriver::disposing()
...@@ -93,6 +106,10 @@ void FirebirdDriver::disposing() ...@@ -93,6 +106,10 @@ void FirebirdDriver::disposing()
osl_clearEnvironment(our_sFirebirdTmpVar.pData); osl_clearEnvironment(our_sFirebirdTmpVar.pData);
osl_clearEnvironment(our_sFirebirdLockVar.pData); osl_clearEnvironment(our_sFirebirdLockVar.pData);
#ifndef SYSTEM_FIREBIRD
osl_clearEnvironment(our_sFirebirdMsgVar.pData);
#endif
ODriver_BASE::disposing(); ODriver_BASE::disposing();
} }
......
...@@ -48,6 +48,7 @@ namespace connectivity ...@@ -48,6 +48,7 @@ namespace connectivity
private: private:
static const ::rtl::OUString our_sFirebirdTmpVar; static const ::rtl::OUString our_sFirebirdTmpVar;
static const ::rtl::OUString our_sFirebirdLockVar; static const ::rtl::OUString our_sFirebirdLockVar;
static const ::rtl::OUString our_sFirebirdMsgVar;
css::uno::Reference<css::uno::XComponentContext> m_aContext; css::uno::Reference<css::uno::XComponentContext> m_aContext;
::utl::TempFile m_firebirdTMPDirectory; ::utl::TempFile m_firebirdTMPDirectory;
......
...@@ -19,4 +19,6 @@ else ...@@ -19,4 +19,6 @@ else
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.so.2.5,gen/firebird/lib/libfbembed.so.2.5.2)) $(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.so.2.5,gen/firebird/lib/libfbembed.so.2.5.2))
endif endif
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_SHARE_FOLDER)/firebird/firebird.msg,gen/firebird/firebird.msg))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
...@@ -20,17 +20,11 @@ ...@@ -20,17 +20,11 @@
#ifndef SYSTEM_FIREBIRD #ifndef SYSTEM_FIREBIRD
File gid_File_Firebird_Lib File gid_File_Firebird
LIB_FILE_BODY; TXT_FILE_BODY;
Styles = (PACKED); Styles = (FILELIST, PACKED);
Dir = SCP2_OOO_LIB_DIR; Dir = FILELIST_DIR;
#if defined MACOSX Name = "firebird.filelist";
Name = "libfbembed.dylib";
#elif defined UNX
Name = STRING(CONCAT3(libfbembed,UNXSUFFIX,.2.5));
#else
Name = "ifbembed.dll";
#endif
End End
#endif #endif
...@@ -26,7 +26,7 @@ Module gid_Module_Firebird ...@@ -26,7 +26,7 @@ Module gid_Module_Firebird
PackageInfo = "packinfo_office.txt"; PackageInfo = "packinfo_office.txt";
ParentID = gid_Module_Root_Brand; ParentID = gid_Module_Root_Brand;
Files = ( Files = (
File gid_File_Firebird_Lib File gid_File_Firebird
); );
Styles = (HIDDEN_ROOT); Styles = (HIDDEN_ROOT);
End End
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment