diff --git a/builds/posix/Makefile.in b/builds/posix/Makefile.in
index bea44bfea1..e3777df3df 100644
--- a/builds/posix/Makefile.in
+++ b/builds/posix/Makefile.in
@@ -596,6 +596,9 @@ isql: $(ISQL)
$(ISQL): $(ISQL_Objects) $(COMMON_LIB)
$(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS)
+$(ISQL_TEST): $(filter-out $(call makeObjects,isql,main.cpp), $(ISQL_Objects)) $(ISQL_Test_Objects) $(COMMON_LIB)
+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS)
+
nbackup: $(NBACKUP)
$(NBACKUP): $(NBACKUP_Objects) $(COMMON_LIB)
@@ -790,7 +793,7 @@ install install-embedded silent_install package packages dist:
tests:
$(MAKE) TARGET?=$(DefaultTarget) tests_process
-tests_process: $(COMMON_TEST) $(ENGINE_TEST)
+tests_process: $(COMMON_TEST) $(ENGINE_TEST) $(ISQL_TEST)
run_tests:
$(MAKE) TARGET?=$(DefaultTarget) run_tests_process
@@ -798,6 +801,7 @@ run_tests:
run_tests_process: tests_process
$(COMMON_TEST) --log_level=all
$(ENGINE_TEST) --log_level=all
+ $(ISQL_TEST) --log_level=all
#___________________________________________________________________________
diff --git a/builds/posix/make.defaults b/builds/posix/make.defaults
index 59bc3c8900..43c9044c60 100755
--- a/builds/posix/make.defaults
+++ b/builds/posix/make.defaults
@@ -424,6 +424,7 @@ SECURITY_FDB = $(FIREBIRD)/security6.fdb
# From isql
ISQL = $(BIN)/isql$(EXEC_EXT)
+ISQL_TEST = $(FB_TESTS_DIR)/isql_test$(EXEC_EXT)
RUN_ISQL = $(RBIN)/isql$(EXEC_EXT)
# From burp
diff --git a/builds/posix/make.shared.variables b/builds/posix/make.shared.variables
index bc4dfc5684..5074e5cf68 100644
--- a/builds/posix/make.shared.variables
+++ b/builds/posix/make.shared.variables
@@ -179,7 +179,9 @@ AllObjects += $(GSPLIT_Objects)
# Interactive sql
ISQL_Objects:= $(call dirObjects,isql)
-AllObjects += $(ISQL_Objects)
+ISQL_Test_Objects:= $(call dirObjects,isql/tests)
+
+AllObjects += $(ISQL_Objects) $(ISQL_Test_Objects)
# Legacy users management in security database
diff --git a/builds/win32/make_all.bat b/builds/win32/make_all.bat
index 622507522a..dd877e4517 100644
--- a/builds/win32/make_all.bat
+++ b/builds/win32/make_all.bat
@@ -66,7 +66,7 @@ if errorlevel 1 call :ERROR build failed - see make_all_%FB_TARGET_PLATFORM%.log
copy %FB_ROOT_PATH%\temp\%FB_OBJ_DIR%\ib_util\ib_util.lib %FB_OUTPUT_DIR%\lib\ib_util_ms.lib >nul
)
-for %%v in (gpre_boot build_msg common_test engine_test) do (
+for %%v in (gpre_boot build_msg common_test engine_test isql_test) do (
@del %FB_OUTPUT_DIR%\%%v.* 2>nul
)
diff --git a/builds/win32/msvc15/Firebird.sln b/builds/win32/msvc15/Firebird.sln
index 4293fbe7bd..bfd63ab271 100644
--- a/builds/win32/msvc15/Firebird.sln
+++ b/builds/win32/msvc15/Firebird.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27703.2047
+# Visual Studio Version 17
+VisualStudioVersion = 17.7.34031.279
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "alice", "alice.vcxproj", "{0D616380-1A5A-4230-A80B-021360E4E669}"
EndProject
@@ -10,8 +10,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common.vcxproj",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "engine", "engine.vcxproj", "{F8798A49-9D20-451E-A7BD-FEB5237103B5}"
ProjectSection(ProjectDependencies) = postProject
- {DFFA2117-E6A8-4806-BB69-94DAC8F8F42A} = {DFFA2117-E6A8-4806-BB69-94DAC8F8F42A}
{53F75437-15B8-4A5C-86BF-E238CC68FCBC} = {53F75437-15B8-4A5C-86BF-E238CC68FCBC}
+ {DFFA2117-E6A8-4806-BB69-94DAC8F8F42A} = {DFFA2117-E6A8-4806-BB69-94DAC8F8F42A}
{EABA0FF3-1C4D-4FAB-8418-31C9061F3F0D} = {EABA0FF3-1C4D-4FAB-8418-31C9061F3F0D}
EndProjectSection
EndProject
@@ -49,6 +49,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intl", "intl.vcxproj", "{DF
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isql", "isql.vcxproj", "{DEE75AD5-F165-40E1-80B2-400E27725D5C}"
ProjectSection(ProjectDependencies) = postProject
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80} = {54ECAE83-4E1C-4433-9270-5708BC3A3A80}
{F8798A49-9D20-451E-A7BD-FEB5237103B5} = {F8798A49-9D20-451E-A7BD-FEB5237103B5}
EndProjectSection
EndProject
@@ -98,6 +99,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common_test", "common_test.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "engine_test", "engine_test.vcxproj", "{3314D6AD-554F-4AE1-B297-6D2D6207DD7C}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isql_static", "isql_static.vcxproj", "{54ECAE83-4E1C-4433-9270-5708BC3A3A80}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isql_test", "isql_test.vcxproj", "{55537F19-3DE1-40C5-9124-C9534B1B0290}"
+ ProjectSection(ProjectDependencies) = postProject
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80} = {54ECAE83-4E1C-4433-9270-5708BC3A3A80}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -376,6 +384,14 @@ Global
{B32D1B09-8161-451E-8D20-D30F26094EC0}.Release|Win32.Build.0 = Release|Win32
{B32D1B09-8161-451E-8D20-D30F26094EC0}.Release|x64.ActiveCfg = Release|x64
{B32D1B09-8161-451E-8D20-D30F26094EC0}.Release|x64.Build.0 = Release|x64
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|Win32.Build.0 = Debug|Win32
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|x64.ActiveCfg = Debug|x64
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|x64.Build.0 = Debug|x64
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|Win32.ActiveCfg = Release|Win32
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|Win32.Build.0 = Release|Win32
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|x64.ActiveCfg = Release|x64
+ {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|x64.Build.0 = Release|x64
{035D26F9-B406-4D60-A8B7-172098479254}.Debug|Win32.ActiveCfg = Debug|Win32
{035D26F9-B406-4D60-A8B7-172098479254}.Debug|Win32.Build.0 = Debug|Win32
{035D26F9-B406-4D60-A8B7-172098479254}.Debug|x64.ActiveCfg = Debug|x64
@@ -392,14 +408,22 @@ Global
{3314D6AD-554F-4AE1-B297-6D2D6207DD7C}.Release|Win32.Build.0 = Release|Win32
{3314D6AD-554F-4AE1-B297-6D2D6207DD7C}.Release|x64.ActiveCfg = Release|x64
{3314D6AD-554F-4AE1-B297-6D2D6207DD7C}.Release|x64.Build.0 = Release|x64
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|Win32.ActiveCfg = Debug|Win32
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|Win32.Build.0 = Debug|Win32
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|x64.ActiveCfg = Debug|x64
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Debug|x64.Build.0 = Debug|x64
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|Win32.ActiveCfg = Release|Win32
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|Win32.Build.0 = Release|Win32
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|x64.ActiveCfg = Release|x64
- {9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE}.Release|x64.Build.0 = Release|x64
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Debug|Win32.ActiveCfg = Debug|Win32
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Debug|Win32.Build.0 = Debug|Win32
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Debug|x64.ActiveCfg = Debug|x64
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Debug|x64.Build.0 = Debug|x64
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Release|Win32.ActiveCfg = Release|Win32
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Release|Win32.Build.0 = Release|Win32
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Release|x64.ActiveCfg = Release|x64
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}.Release|x64.Build.0 = Release|x64
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Debug|Win32.ActiveCfg = Debug|Win32
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Debug|Win32.Build.0 = Debug|Win32
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Debug|x64.ActiveCfg = Debug|x64
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Debug|x64.Build.0 = Debug|x64
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Release|Win32.ActiveCfg = Release|Win32
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Release|Win32.Build.0 = Release|Win32
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Release|x64.ActiveCfg = Release|x64
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -442,6 +466,8 @@ Global
{9821F2C0-4EC1-4ACB-BF32-DEB4C21032DE} = {5A1544E3-A87E-4F78-B197-528C12A64C7D}
{035D26F9-B406-4D60-A8B7-172098479254} = {BDDF1E9A-4E5B-4320-8B92-A0FB71657380}
{3314D6AD-554F-4AE1-B297-6D2D6207DD7C} = {BDDF1E9A-4E5B-4320-8B92-A0FB71657380}
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80} = {DA5015E4-8349-4DAB-A1E5-18BDBDDA3022}
+ {55537F19-3DE1-40C5-9124-C9534B1B0290} = {BDDF1E9A-4E5B-4320-8B92-A0FB71657380}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {97076DB2-CFCD-4277-BDF0-A6407852E1AC}
diff --git a/builds/win32/msvc15/isql.vcxproj b/builds/win32/msvc15/isql.vcxproj
index 89afa088de..1b25dce01d 100644
--- a/builds/win32/msvc15/isql.vcxproj
+++ b/builds/win32/msvc15/isql.vcxproj
@@ -169,31 +169,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -206,13 +182,30 @@
{15605f44-bffd-444f-ad4c-55dc9d704465}
+ true
false
+ false
+ true
+ false
+
+
+ {54ecae83-4e1c-4433-9270-5708bc3a3a80}
+ true
+ false
+ false
+ true
+ true
{4fe03933-98cd-4879-a135-fd9430087a6b}
+ true
+ false
+ false
+ true
+ false
-
\ No newline at end of file
+
diff --git a/builds/win32/msvc15/isql.vcxproj.filters b/builds/win32/msvc15/isql.vcxproj.filters
index 5dbee3dc2c..76d1b91aa1 100644
--- a/builds/win32/msvc15/isql.vcxproj.filters
+++ b/builds/win32/msvc15/isql.vcxproj.filters
@@ -5,89 +5,14 @@
{432b17da-feb5-4854-bf4a-2eade764f005}
cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
-
- {0e9c9357-7411-4d36-b6da-5bf58d471259}
- h;hpp;hxx;hm;inl
-
{64a46d33-07a2-4c68-8ae0-30be298677f3}
-
- {a0276ced-d198-4e65-bb2b-d78e9c5e1f3c}
- epp
-
-
- {b3973b46-4da2-46d6-921f-d6e87e3ba3e7}
-
-
+
ISQL files
-
- ISQL files
-
-
- ISQL files
-
-
- ISQL files
-
-
- ISQL files
-
-
- ISQL files
-
-
- ISQL files\GPRE cpp
-
-
- ISQL files\GPRE cpp
-
-
- ISQL files\GPRE cpp
-
-
-
-
- ISQL files\GPRE epp
-
-
- ISQL files\GPRE epp
-
-
- ISQL files\GPRE epp
-
-
-
-
- Header files
-
-
- Header files
-
-
- Header files
-
-
- Header files
-
-
- Header files
-
-
- Header files
-
-
- Header files
-
-
- Header files
-
-
- Header files
-
diff --git a/builds/win32/msvc15/isql_static.vcxproj b/builds/win32/msvc15/isql_static.vcxproj
new file mode 100644
index 0000000000..960e883c64
--- /dev/null
+++ b/builds/win32/msvc15/isql_static.vcxproj
@@ -0,0 +1,166 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {54ECAE83-4E1C-4433-9270-5708BC3A3A80}
+ 10.0.17763.0
+ 10.0
+ 10.0
+
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+ StaticLibrary
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+
+
+
+ Disabled
+ _DEBUG;_CONSOLE;SUPERCLIENT;DEV_BUILD;WIN32;%(PreprocessorDefinitions)
+ EditAndContinue
+
+
+
+
+ X64
+
+
+ Disabled
+ _DEBUG;_CONSOLE;SUPERCLIENT;DEV_BUILD;WIN32;%(PreprocessorDefinitions)
+
+
+
+
+ NDEBUG;_CONSOLE;SUPERCLIENT;WIN32;%(PreprocessorDefinitions)
+
+
+
+
+
+
+ X64
+
+
+ NDEBUG;_CONSOLE;SUPERCLIENT;WIN32;%(PreprocessorDefinitions)
+
+
+
+
+
+
+
+
diff --git a/builds/win32/msvc15/isql_static.vcxproj.filters b/builds/win32/msvc15/isql_static.vcxproj.filters
new file mode 100644
index 0000000000..6377230369
--- /dev/null
+++ b/builds/win32/msvc15/isql_static.vcxproj.filters
@@ -0,0 +1,89 @@
+
+
+
+
+ {1a597f92-6f3f-4d63-8dd8-dde1426edf41}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
+
+
+ {b6967076-ecd8-4f75-a128-3da2b3c4112d}
+ h;hpp;hxx;hm;inl
+
+
+ {2962ff05-3209-48ca-b313-4b8f443bb726}
+ epp
+
+
+ {1366807a-243b-4a32-a208-d8bc3a11dacc}
+
+
+
+
+ ISQL files
+
+
+ ISQL files
+
+
+ ISQL files
+
+
+ ISQL files
+
+
+ ISQL files
+
+
+ ISQL files
+
+
+ ISQL files\GPRE cpp
+
+
+ ISQL files\GPRE cpp
+
+
+ ISQL files\GPRE cpp
+
+
+
+
+ ISQL files\GPRE epp
+
+
+ ISQL files\GPRE epp
+
+
+ ISQL files\GPRE epp
+
+
+
+
+ Header files
+
+
+ Header files
+
+
+ Header files
+
+
+ Header files
+
+
+ Header files
+
+
+ Header files
+
+
+ Header files
+
+
+ Header files
+
+
+ Header files
+
+
+
diff --git a/builds/win32/msvc15/isql_test.vcxproj b/builds/win32/msvc15/isql_test.vcxproj
new file mode 100644
index 0000000000..222c1963eb
--- /dev/null
+++ b/builds/win32/msvc15/isql_test.vcxproj
@@ -0,0 +1,200 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {55537F19-3DE1-40C5-9124-C9534B1B0290}
+ isql_test
+ 10.0.17763.0
+ 10.0
+ 10.0
+
+
+
+ Application
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+ Application
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+ Application
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+ Application
+ false
+ MultiByte
+ v141
+ v142
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ false
+ false
+ false
+ false
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+ ..\..\..\temp\$(PlatformName)\$(Configuration)\firebird\
+
+
+
+ NDEBUG;_CONSOLE;SUPERCLIENT;WIN32;%(PreprocessorDefinitions)
+
+
+ re2.lib;comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
+ Console
+ false
+
+
+
+
+
+
+ Disabled
+ _DEBUG;_CONSOLE;SUPERCLIENT;DEV_BUILD;WIN32;%(PreprocessorDefinitions)
+
+
+ re2.lib;comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
+ Console
+ false
+
+
+
+
+
+
+ X64
+
+
+ NDEBUG;_CONSOLE;SUPERCLIENT;WIN32;%(PreprocessorDefinitions)
+
+
+ re2.lib;comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
+ Console
+ false
+
+
+ MachineX64
+
+
+
+
+ X64
+
+
+ Disabled
+ _DEBUG;_CONSOLE;SUPERCLIENT;DEV_BUILD;WIN32;%(PreprocessorDefinitions)
+
+
+ re2.lib;comctl32.lib;ws2_32.lib;mpr.lib;version.lib;%(AdditionalDependencies)
+ Console
+ false
+
+
+ MachineX64
+
+
+
+
+ ..\..\..\src\jrd
+ ..\..\..\src\jrd
+ ..\..\..\src\jrd
+ ..\..\..\src\jrd
+
+
+
+
+
+
+
+ {15605f44-bffd-444f-ad4c-55dc9d704465}
+ true
+ false
+ false
+ true
+ false
+
+
+ {54ecae83-4e1c-4433-9270-5708bc3a3a80}
+
+
+ {4fe03933-98cd-4879-a135-fd9430087a6b}
+
+
+
+
+
+
diff --git a/builds/win32/msvc15/isql_test.vcxproj.filters b/builds/win32/msvc15/isql_test.vcxproj.filters
new file mode 100644
index 0000000000..5ebbc36eba
--- /dev/null
+++ b/builds/win32/msvc15/isql_test.vcxproj.filters
@@ -0,0 +1,19 @@
+
+
+
+
+ {1ebb36b8-4d58-4cf2-8594-fc2e046f927b}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
+
+
+
+
+ source
+
+
+
+
+ source
+
+
+
diff --git a/builds/win32/run_tests.bat b/builds/win32/run_tests.bat
index db1094898b..092565eb31 100644
--- a/builds/win32/run_tests.bat
+++ b/builds/win32/run_tests.bat
@@ -7,5 +7,6 @@
@%FB_BIN_DIR%\common_test --log_level=all
@%FB_BIN_DIR%\engine_test --log_level=all
+@%FB_BIN_DIR%\isql_test --log_level=all
:END
diff --git a/src/isql/isql.epp b/src/isql/isql.epp
index 49a7a464de..dccf28fc03 100644
--- a/src/isql/isql.epp
+++ b/src/isql/isql.epp
@@ -809,25 +809,6 @@ static void atexit_fb_shutdown()
fb_shutdown(0, fb_shutrsn_app_stopped);
}
-int CLIB_ROUTINE main(int argc, char* argv[])
-{
-/**************************************
- *
- * m a i n
- *
- **************************************
- *
- * Functional description
- * This calls ISQL_main, and exists to
- * isolate main which does not exist under
- * MS Windows.
- *
- **************************************/
-
- return ISQL_main(argc, argv);
-}
-
-
int ISQL_main(int argc, char* argv[])
{
/**************************************
diff --git a/src/isql/isql.h b/src/isql/isql.h
index 4c40040138..3fb758d5b1 100644
--- a/src/isql/isql.h
+++ b/src/isql/isql.h
@@ -35,6 +35,7 @@
#include "../jrd/flags.h"
#include "../jrd/constants.h"
+#include
#include
#include
diff --git a/src/isql/main.cpp b/src/isql/main.cpp
new file mode 100644
index 0000000000..8a1e7db980
--- /dev/null
+++ b/src/isql/main.cpp
@@ -0,0 +1,32 @@
+/*
+ * The contents of this file are subject to the Initial
+ * Developer's Public License Version 1.0 (the "License");
+ * you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl.
+ *
+ * Software distributed under the License is distributed AS IS,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied.
+ * See the License for the specific language governing rights
+ * and limitations under the License.
+ *
+ * The Original Code was created by Adriano dos Santos Fernandes
+ * for the Firebird Open Source RDBMS project.
+ *
+ * Copyright (c) 2023 Adriano dos Santos Fernandes
+ * and all contributors signed below.
+ *
+ * All Rights Reserved.
+ * Contributor(s): ______________________________________.
+ *
+ */
+
+#include "firebird.h"
+#include "../isql/isql.h"
+#include "../isql/isql_proto.h"
+
+
+int CLIB_ROUTINE main(int argc, char* argv[])
+{
+ return ISQL_main(argc, argv);
+}
diff --git a/src/isql/tests/ISqlTest.cpp b/src/isql/tests/ISqlTest.cpp
new file mode 100644
index 0000000000..2531df796c
--- /dev/null
+++ b/src/isql/tests/ISqlTest.cpp
@@ -0,0 +1,19 @@
+#include "firebird.h"
+#include "firebird/Interface.h"
+#include "../common/gdsassert.h"
+
+#define BOOST_TEST_MODULE ISqlTest
+#include "boost/test/included/unit_test.hpp"
+
+
+// TODO: Remove.
+
+BOOST_AUTO_TEST_SUITE(IsqlSuite)
+BOOST_AUTO_TEST_SUITE(DummySuite)
+
+BOOST_AUTO_TEST_CASE(DummyTest)
+{
+}
+
+BOOST_AUTO_TEST_SUITE_END() // DummySuite
+BOOST_AUTO_TEST_SUITE_END() // IsqlSuite
diff --git a/src/jrd/version.h b/src/jrd/version.h
index 9f4373c668..86c7276968 100644
--- a/src/jrd/version.h
+++ b/src/jrd/version.h
@@ -138,6 +138,9 @@
#elif defined RC_TARGET_engine_test
#define VER_FILEDESC "Engine Tests"
+#elif defined RC_TARGET_isql_test
+#define VER_FILEDESC "ISQL Tests"
+
#else
#define VER_FILEDESC "SQL Server"