Changeset: 91777d3cf0b6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=91777d3cf0b6
Modified Files:
        NT/mkodbcwxs.py
        NT/mksqlwxs.py
        monetdb5/NT/M5server.bat
        tools/merovingian/daemon/connections.c
Branch: default
Log Message:

Merged with Nov2019


diffs (truncated from 340 to 300 lines):

diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py
--- a/NT/mkodbcwxs.py
+++ b/NT/mkodbcwxs.py
@@ -13,13 +13,13 @@ upgradecode = {'x64': '{95ACBC8C-BC4B-49
 def comp(features, id, depth, files, fid=None, name=None, args=None, sid=None, 
vital=None):
     indent = ' ' * depth
     for f in files:
-        print('%s<Component Id="_%d" Guid="*">' % (indent, id))
-        print('%s  <File DiskId="1"%s KeyPath="yes" Name="%s" Source="%s"%s%s' 
% (indent, fid and (' Id="%s"' % fid) or '', f.split('\\')[-1], f, vital and (' 
Vital="%s"' % vital) or '', name and '>' or '/>'))
+        print('{}<Component Id="_{}" Guid="*">'.format(indent, id))
+        print('{}  <File DiskId="1"{} KeyPath="yes" Name="{}" 
Source="{}"{}{}'.format(indent, fid and (' Id="{}"'.format(fid)) or '', 
f.split('\\')[-1], f, vital and (' Vital="{}"'.format(vital)) or '', name and 
'>' or '/>'))
         if name:
-            print('%s    <Shortcut Id="%s" Advertise="yes"%s 
Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="%s" 
WorkingDirectory="INSTALLDIR"/>' % (indent, sid, args and (' Arguments="%s"' % 
args) or '', name))
-            print('%s  </File>' % indent)
-        print('%s</Component>' % indent)
-        features.append('_%d' % id)
+            print('{}    <Shortcut Id="{}" Advertise="yes"{} 
Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="{}" 
WorkingDirectory="INSTALLDIR"/>'.format(indent, sid, args and (' 
Arguments="{}"'.format(args)) or '', name))
+            print('{}  </File>'.format(indent))
+        print('{}</Component>'.format(indent))
+        features.append('_{}'.format(id))
         id += 1
     return id
 
@@ -43,8 +43,8 @@ def main():
     features = []
     print(r'<?xml version="1.0"?>')
     print(r'<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>')
-    print(r'  <Product Id="*" Language="1033" Manufacturer="MonetDB" 
Name="MonetDB ODBC Driver" UpgradeCode="%s" Version="%s">' % 
(upgradecode[arch], sys.argv[1]))
-    print(r'    <Package Id="*" Comments="MonetDB ODBC Driver" 
Compressed="yes" InstallerVersion="301" Keywords="MonetDB SQL ODBC" 
Languages="1033" Manufacturer="MonetDB BV" Platform="%s"/>' % arch)
+    print(r'  <Product Id="*" Language="1033" Manufacturer="MonetDB" 
Name="MonetDB ODBC Driver" UpgradeCode="{}" 
Version="{}">'.format(upgradecode[arch], sys.argv[1]))
+    print(r'    <Package Id="*" Comments="MonetDB ODBC Driver" 
Compressed="yes" InstallerVersion="301" Keywords="MonetDB SQL ODBC" 
Languages="1033" Manufacturer="MonetDB BV" Platform="{}"/>'.format(arch))
     print(r'    <MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A 
later version of [ProductName] is already installed." 
AllowSameVersionUpgrades="no"/>')
     print(r'    <WixVariable Id="WixUILicenseRtf" Value="license.rtf"/>')
     print(r'    <WixVariable Id="WixUIBannerBmp" Value="banner.bmp"/>')
@@ -55,14 +55,14 @@ def main():
     print(r'    <CustomAction Id="driverinstall" FileKey="odbcinstall" 
ExeCommand="/Install" Execute="deferred" Impersonate="no"/>')
     print(r'    <CustomAction Id="driveruninstall" FileKey="odbcinstall" 
ExeCommand="/Uninstall" Execute="deferred" Impersonate="no"/>')
     print(r'    <Directory Id="TARGETDIR" Name="SourceDir">')
-    msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20%s\Community\VC\Redist\MSVC' % vs
+    msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20{}\Community\VC\Redist\MSVC'.format(vs)
     d = sorted(os.listdir(msvc))[-1]
-    msm = '_CRT_%s.msm' % arch
+    msm = '_CRT_{}.msm'.format(arch)
     for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))):
         if msm in f:
             fn = f
-    print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn))
-    print(r'      <Directory Id="%s">' % folder)
+    print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="{}\{}\MergeModules\{}"/>'.format(msvc, d, fn))
+    print(r'      <Directory Id="{}">'.format(folder))
     print(r'        <Directory Id="ProgramFilesMonetDB" Name="MonetDB">')
     print(r'          <Directory Id="INSTALLDIR" Name="MonetDB ODBC Driver">')
     id = 1
@@ -72,10 +72,10 @@ def main():
                r'lib\libMonetODBC.dll', r'lib\libMonetODBC.pdb',
                r'lib\libMonetODBCs.dll', r'lib\libMonetODBCs.pdb',
                r'lib\libstream.dll', r'lib\libstream.pdb',
-               r'%s\bin\iconv-2.dll' % makedefs['LIBICONV'],
-               r'%s\bin\libbz2.dll' % makedefs['LIBBZIP2'],
-               r'%s\bin\libcrypto-1_1%s.dll' % (makedefs['LIBOPENSSL'], 
libcrypto),
-               r'%s\bin\zlib1.dll' % makedefs['LIBZLIB']])
+               r'{}\bin\iconv-2.dll'.format(makedefs['LIBICONV']),
+               r'{}\bin\libbz2.dll'.format(makedefs['LIBBZIP2']),
+               r'{}\bin\libcrypto-1_1{}.dll'.format(makedefs['LIBOPENSSL'], 
libcrypto),
+               r'{}\bin\zlib1.dll'.format(makedefs['LIBZLIB'])])
     print(r'            </Directory>')
     id = comp(features, id, 12,
               [r'license.rtf'])
@@ -102,7 +102,7 @@ def main():
     print(r'    </Directory>')
     print(r'    <Feature Id="Complete" ConfigurableDirectory="INSTALLDIR" 
Title="MonetDB ODBC Driver">')
     for f in features:
-        print(r'      <ComponentRef Id="%s"/>' % f)
+        print(r'      <ComponentRef Id="{}"/>'.format(f))
     print(r'      <MergeRef Id="VCRedist"/>')
     print(r'    </Feature>')
     print(r'    <UIRef Id="WixUI_InstallDir"/>')
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -20,13 +20,13 @@ geomupgradecode = {
 def comp(features, id, depth, files, name=None, args=None, sid=None, 
vital=None):
     indent = ' ' * depth
     for f in files:
-        print('%s<Component Id="_%d" Guid="*">' % (indent, id))
-        print('%s  <File DiskId="1" KeyPath="yes" Name="%s" Source="%s"%s%s' % 
(indent, f.split('\\')[-1], f, vital and (' Vital="%s"' % vital) or '', name 
and '>' or '/>'))
+        print('{}<Component Id="_{}" Guid="*">'.format(indent, id))
+        print('{}  <File DiskId="1" KeyPath="yes" Name="{}" 
Source="{}"{}{}'.format(indent, f.split('\\')[-1], f, vital and (' 
Vital="{}"'.format(vital)) or '', name and '>' or '/>'))
         if name:
-            print('%s    <Shortcut Id="%s" Advertise="yes"%s 
Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="%s" 
WorkingDirectory="INSTALLDIR"/>' % (indent, sid, args and (' Arguments="%s"' % 
args) or '', name))
-            print('%s  </File>' % indent)
-        print('%s</Component>' % indent)
-        features.append('_%d' % id)
+            print('{}    <Shortcut Id="{}" Advertise="yes"{} 
Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="{}" 
WorkingDirectory="INSTALLDIR"/>'.format(indent, sid, args and (' 
Arguments="{}"'.format(args)) or '', name))
+            print('{}  </File>'.format(indent))
+        print('{}</Component>'.format(indent))
+        features.append('_{}'.format(id))
         id += 1
     return id
 
@@ -55,13 +55,13 @@ def main():
     pyapi3 = []
     print(r'<?xml version="1.0"?>')
     print(r'<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>')
-    print(r'  <Product Id="*" Language="1033" Manufacturer="MonetDB" 
Name="MonetDB5" UpgradeCode="%s" Version="%s">' % (upgradecode[arch], 
sys.argv[1]))
-    print(r'    <Package Id="*" Comments="MonetDB5/SQL Server and Client" 
Compressed="yes" InstallerVersion="301" Keywords="MonetDB5 MonetDB SQL 
Database" Languages="1033" Manufacturer="MonetDB BV" Platform="%s"/>' % arch)
-    print(r'    <Upgrade Id="%s">' % geomupgradecode[arch])
+    print(r'  <Product Id="*" Language="1033" Manufacturer="MonetDB" 
Name="MonetDB5" UpgradeCode="{}" Version="{}">'.format(upgradecode[arch], 
sys.argv[1]))
+    print(r'    <Package Id="*" Comments="MonetDB5/SQL Server and Client" 
Compressed="yes" InstallerVersion="301" Keywords="MonetDB5 MonetDB SQL 
Database" Languages="1033" Manufacturer="MonetDB BV" 
Platform="{}"/>'.format(arch))
+    print(r'    <Upgrade Id="{}">'.format(geomupgradecode[arch]))
     # up to and including 11.29.3, the geom module can not be
     # uninstalled if MonetDB/SQL is not installed; this somehow also
     # precludes the upgrade to this version
-    print(r'      <UpgradeVersion OnlyDetect="no" Minimum="11.29.3" 
IncludeMinimum="no" Maximum="%s" Property="GEOMINSTALLED"/>' % sys.argv[1])
+    print(r'      <UpgradeVersion OnlyDetect="no" Minimum="11.29.3" 
IncludeMinimum="no" Maximum="{}" 
Property="GEOMINSTALLED"/>'.format(sys.argv[1]))
     print(r'    </Upgrade>')
     print(r'    <MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A 
later version of [ProductName] is already installed." 
AllowSameVersionUpgrades="no"/>')
     print(r'    <WixVariable Id="WixUILicenseRtf" Value="license.rtf"/>')
@@ -103,7 +103,7 @@ def main():
     # precludes the upgrade to this version, therefore we disallow
     # running the current installer
     print(r'    <Property Id="OLDGEOMINSTALLED">')
-    print(r'      <ProductSearch UpgradeCode="%s" Minimum="11.1.1" 
Maximum="11.29.3" IncludeMinimum="yes" IncludeMaximum="yes"/>' % 
geomupgradecode[arch])
+    print(r'      <ProductSearch UpgradeCode="{}" Minimum="11.1.1" 
Maximum="11.29.3" IncludeMinimum="yes" 
IncludeMaximum="yes"/>'.format(geomupgradecode[arch]))
     print(r'    </Property>')
     print(r'    <Condition Message="Please uninstall MonetDB5 SQL GIS Module 
first, then rerun and select to install Complete package.">')
     print(r'      NOT OLDGEOMINSTALLED')
@@ -114,14 +114,14 @@ def main():
     print(r'    <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
     print(r'    <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
     print(r'    <Directory Id="TARGETDIR" Name="SourceDir">')
-    msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20%s\Community\VC\Redist\MSVC' % vs
+    msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20{}\Community\VC\Redist\MSVC'.format(vs)
     d = sorted(os.listdir(msvc))[-1]
-    msm = '_CRT_%s.msm' % arch
+    msm = '_CRT_{}.msm'.format(arch)
     for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))):
         if msm in f:
             fn = f
-    print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn))
-    print(r'      <Directory Id="%s">' % folder)
+    print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="{}\{}\MergeModules\{}"/>'.format(msvc, d, fn))
+    print(r'      <Directory Id="{}">'.format(folder))
     print(r'        <Directory Id="ProgramFilesMonetDB" Name="MonetDB">')
     print(r'          <Directory Id="INSTALLDIR" Name="MonetDB5">')
     print(r'            <Component Id="registry">')
@@ -141,12 +141,12 @@ def main():
                r'lib\libmapi.dll',
                r'lib\libmonetdb5.dll',
                r'lib\libstream.dll',
-               r'%s\bin\iconv-2.dll' % makedefs['LIBICONV'],
-               r'%s\bin\libbz2.dll' % makedefs['LIBBZIP2'],
-               r'%s\bin\libcrypto-1_1%s.dll' % (makedefs['LIBOPENSSL'], 
libcrypto),
-               r'%s\bin\libxml2.dll' % makedefs['LIBXML2'],
-               r'%s\bin\pcre.dll' % makedefs['LIBPCRE'],
-               r'%s\bin\zlib1.dll' % makedefs['LIBZLIB']])
+               r'{}\bin\iconv-2.dll'.format(makedefs['LIBICONV']),
+               r'{}\bin\libbz2.dll'.format(makedefs['LIBBZIP2']),
+               r'{}\bin\libcrypto-1_1{}.dll'.format(makedefs['LIBOPENSSL'], 
libcrypto),
+               r'{}\bin\libxml2.dll'.format(makedefs['LIBXML2']),
+               r'{}\bin\pcre.dll'.format(makedefs['LIBPCRE']),
+               r'{}\bin\zlib1.dll'.format(makedefs['LIBZLIB'])])
     id = comp(debug, id, 14,
               [r'bin\mclient.pdb',
                r'bin\mserver5.pdb',
@@ -157,8 +157,8 @@ def main():
                r'lib\libmonetdb5.pdb',
                r'lib\libstream.pdb'])
     id = comp(geom, id, 14,
-              [r'%s\bin\geos_c.dll' % makedefs['LIBGEOS'],
-               r'%s\bin\geos.dll' % makedefs['LIBGEOS']])
+              [r'{}\bin\geos_c.dll'.format(makedefs['LIBGEOS']),
+               r'{}\bin\geos.dll'.format(makedefs['LIBGEOS'])])
     print(r'            </Directory>')
     print(r'            <Directory Id="etc" Name="etc">')
     id = comp(features, id, 14, [r'etc\.monetdb'])
@@ -166,7 +166,7 @@ def main():
     print(r'            <Directory Id="include" Name="include">')
     print(r'              <Directory Id="monetdb" Name="monetdb">')
     id = comp(extend, id, 16,
-              sorted([r'include\monetdb\%s' % x for x in filter(lambda x: 
(x.startswith('gdk') or x.startswith('monet') or x.startswith('mal')) and 
x.endswith('.h'), os.listdir(os.path.join(sys.argv[3], 'include', 'monetdb')))] 
+
+              sorted([r'include\monetdb\{}'.format(x) for x in filter(lambda 
x: (x.startswith('gdk') or x.startswith('monet') or x.startswith('mal')) and 
x.endswith('.h'), os.listdir(os.path.join(sys.argv[3], 'include', 'monetdb')))] 
+
                      [r'include\monetdb\mapi.h',
                       r'include\monetdb\matomic.h',
                       r'include\monetdb\stream.h',
@@ -178,30 +178,30 @@ def main():
     print(r'              <Directory Id="monetdb5" Name="monetdb5">')
     print(r'                <Directory Id="autoload" Name="autoload">')
     id = comp(features, id, 18,
-              [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda 
x: x.endswith('.mal') and ('geom' not in x) and ('pyapi' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))])
+              [r'lib\monetdb5\autoload\{}'.format(x) for x in 
sorted(filter(lambda x: x.endswith('.mal') and ('geom' not in x) and ('pyapi' 
not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 
'autoload'))))])
     id = comp(geom, id, 18,
-              [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda 
x: x.endswith('.mal') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 
'lib', 'monetdb5', 'autoload'))))])
+              [r'lib\monetdb5\autoload\{}'.format(x) for x in 
sorted(filter(lambda x: x.endswith('.mal') and ('geom' in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))])
     id = comp(pyapi2, id, 18,
-              [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda 
x: x.endswith('_pyapi.mal'), os.listdir(os.path.join(sys.argv[3], 'lib', 
'monetdb5', 'autoload'))))])
+              [r'lib\monetdb5\autoload\{}'.format(x) for x in 
sorted(filter(lambda x: x.endswith('_pyapi.mal'), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))])
     id = comp(pyapi3, id, 18,
-              [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda 
x: x.endswith('_pyapi3.mal'), os.listdir(os.path.join(sys.argv[3], 'lib', 
'monetdb5', 'autoload'))))])
+              [r'lib\monetdb5\autoload\{}'.format(x) for x in 
sorted(filter(lambda x: x.endswith('_pyapi3.mal'), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))])
     print(r'                </Directory>')
     print(r'                <Directory Id="createdb" Name="createdb">')
     id = comp(features, id, 18,
-              [r'lib\monetdb5\createdb\%s' % x for x in sorted(filter(lambda 
x: x.endswith('.sql') and ('geom' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'createdb'))))])
+              [r'lib\monetdb5\createdb\{}'.format(x) for x in 
sorted(filter(lambda x: x.endswith('.sql') and ('geom' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'createdb'))))])
     id = comp(geom, id, 18,
-              [r'lib\monetdb5\createdb\%s' % x for x in sorted(filter(lambda 
x: x.endswith('.sql') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 
'lib', 'monetdb5', 'createdb'))))])
+              [r'lib\monetdb5\createdb\{}'.format(x) for x in 
sorted(filter(lambda x: x.endswith('.sql') and ('geom' in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'createdb'))))])
     print(r'                </Directory>')
     id = comp(features, id, 16,
-              [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: 
x.endswith('.mal') and ('geom' not in x) and ('pyapi' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
+              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.endswith('.mal') and ('geom' not in x) and ('pyapi' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
     id = comp(features, id, 16,
-              [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: 
x.startswith('lib_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' 
not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
+              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('lib_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' 
not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
     id = comp(debug, id, 16,
-              [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: 
x.startswith('lib_') and x.endswith('.pdb') and ('geom' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
+              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('lib_') and x.endswith('.pdb') and ('geom' not in x), 
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
     id = comp(geom, id, 16,
-              [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: 
x.endswith('.mal') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 
'lib', 'monetdb5'))))])
+              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.endswith('.mal') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 
'lib', 'monetdb5'))))])
     id = comp(geom, id, 16,
-              [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: 
x.startswith('lib_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' 
in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
+              [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: 
x.startswith('lib_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' 
in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
     id = comp(pyapi2, id, 16,
               [r'lib\monetdb5\pyapi.mal',
                r'lib\monetdb5\lib_pyapi.dll'])
@@ -214,12 +214,12 @@ def main():
                r'lib\libmapi.lib',
                r'lib\libmonetdb5.lib',
                r'lib\libstream.lib',
-               r'%s\lib\iconv.dll.lib' % makedefs['LIBICONV'],
-               r'%s\lib\libbz2.lib' % makedefs['LIBBZIP2'],
-               r'%s\lib\libcrypto.lib' % makedefs['LIBOPENSSL'],
-               r'%s\lib\libxml2.lib' % makedefs['LIBXML2'],
-               r'%s\lib\pcre.lib' % makedefs['LIBPCRE'],
-               r'%s\lib\zdll.lib' % makedefs['LIBZLIB']])
+               r'{}\lib\iconv.dll.lib'.format(makedefs['LIBICONV']),
+               r'{}\lib\libbz2.lib'.format(makedefs['LIBBZIP2']),
+               r'{}\lib\libcrypto.lib'.format(makedefs['LIBOPENSSL']),
+               r'{}\lib\libxml2.lib'.format(makedefs['LIBXML2']),
+               r'{}\lib\pcre.lib'.format(makedefs['LIBPCRE']),
+               r'{}\lib\zdll.lib'.format(makedefs['LIBZLIB'])])
     print(r'            </Directory>')
     print(r'            <Directory Id="share" Name="share">')
     print(r'              <Directory Id="doc" Name="doc">')
@@ -269,32 +269,32 @@ def main():
     print(r'    <Feature Id="Complete" ConfigurableDirectory="INSTALLDIR" 
Display="expand" InstallDefault="local" Title="MonetDB/SQL" Description="The 
complete package.">')
     print(r'      <Feature Id="MainServer" AllowAdvertise="no" 
Absent="disallow" Title="MonetDB/SQL" Description="The MonetDB/SQL server.">')
     for f in features:
-        print(r'        <ComponentRef Id="%s"/>' % f)
+        print(r'        <ComponentRef Id="{}"/>'.format(f))
     print(r'        <MergeRef Id="VCRedist"/>')
     print(r'      </Feature>')
     print(r'      <Feature Id="PyAPI2" Level="1000" AllowAdvertise="no" 
Absent="allow" Title="Include embedded Python 2" Description="Files required 
for using embedded Python 2.">')
     for f in pyapi2:
-        print(r'        <ComponentRef Id="%s"/>' % f)
+        print(r'        <ComponentRef Id="{}"/>'.format(f))
     print(r'        <Condition Level="1">PYAPI2EXISTS</Condition>')
     print(r'      </Feature>')
     print(r'      <Feature Id="PyAPI3" Level="1000" AllowAdvertise="no" 
Absent="allow" Title="Include embedded Python 3" Description="Files required 
for using embedded Python 3.">')
     for f in pyapi3:
-        print(r'        <ComponentRef Id="%s"/>' % f)
+        print(r'        <ComponentRef Id="{}"/>'.format(f))
     print(r'        <Condition Level="1">PYAPI3EXISTS</Condition>')
     print(r'      </Feature>')
     print(r'      <Feature Id="Extend" Level="1000" AllowAdvertise="no" 
Absent="allow" Title="Extend MonetDB/SQL" Description="Files required for 
extending MonetDB (include files and .lib files).">')
     for f in extend:
-        print(r'        <ComponentRef Id="%s"/>' % f)
+        print(r'        <ComponentRef Id="{}"/>'.format(f))
     print(r'        <Condition Level="1">INCLUDEEXISTS</Condition>')
     print(r'      </Feature>')
     print(r'      <Feature Id="Debug" Level="1000" AllowAdvertise="no" 
Absent="allow" Title="MonetDB/SQL Debug Files" Description="Files useful for 
debugging purposes (.pdb files).">')
     for f in debug:
-        print(r'        <ComponentRef Id="%s"/>' % f)
+        print(r'        <ComponentRef Id="{}"/>'.format(f))
     print(r'        <Condition Level="1">DEBUGEXISTS</Condition>')
     print(r'      </Feature>')
     print(r'      <Feature Id="GeomModule" Level="1000" AllowAdvertise="no" 
Absent="allow" Title="Geom Module" Description="The GIS (Geographic Information 
System) extension for MonetDB/SQL.">')
     for f in geom:
-        print(r'        <ComponentRef Id="%s"/>' % f)
+        print(r'        <ComponentRef Id="{}"/>'.format(f))
     print(r'        <Condition Level="1">GEOMEXISTS</Condition>')
     print(r'      </Feature>')
     print(r'    </Feature>')
diff --git a/monetdb5/NT/M5server.bat b/monetdb5/NT/M5server.bat
--- a/monetdb5/NT/M5server.bat
+++ b/monetdb5/NT/M5server.bat
@@ -23,14 +23,14 @@ if "%APPDATA%" == "" goto usevar
 rem if the APPDATA variable does exist, put the database there
 set MONETDBDIR=%APPDATA%\MonetDB5
 set MONETDBFARM="--dbpath=%MONETDBDIR%\dbfarm\demo"
-mkdir "%MONETDBDIR%\dbfarm\demo"
+if not exist "%MONETDBDIR%\dbfarm\demo" mkdir "%MONETDBDIR%\dbfarm\demo"
 goto skipusevar
 :usevar
 rem if the APPDATA variable does not exist, put the database in the
 rem installation folder (i.e. default location, so no command line argument)
 set MONETDBDIR=%MONETDB%\var\monetdb5
 set MONETDBFARM=
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to