Changeset: bea8ce217040 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bea8ce217040
Added Files:
        sql/test/mergetables/Tests/sqlsmith-exists2.sql
        sql/test/mergetables/Tests/sqlsmith-exists2.stable.err
        sql/test/mergetables/Tests/sqlsmith-exists2.stable.out
Removed Files:
        
sql/test/BugTracker-2019/Tests/prepared-select-with-error-causes-hang.Jira-292.sql
        
sql/test/BugTracker-2019/Tests/prepared-select-with-error-causes-hang.Jira-292.stable.err
        
sql/test/BugTracker-2019/Tests/prepared-select-with-error-causes-hang.Jira-292.stable.out
Modified Files:
        .hgtags
        MonetDB.spec
        NT/mkodbcwxs.py
        NT/mksqlwxs.py
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/mclient.c
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        common/utils/mutils.c
        configure.ag
        debian/changelog
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_align.c
        gdk/gdk_atoms.h
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_calc.c
        gdk/gdk_cand.c
        gdk/gdk_cross.c
        gdk/gdk_group.c
        gdk/gdk_hash.c
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_orderidx.c
        gdk/gdk_project.c
        gdk/gdk_sample.c
        gdk/gdk_tracer.h
        gdk/gdk_unique.c
        gdk/libbat.rc
        geom/monetdb5/geom.c
        geom/monetdb5/geomBulk.c
        libversions
        monetdb5/NT/M5server.bat
        monetdb5/extras/rapi/rapi.c
        monetdb5/mal/Tests/tracer00.malC
        monetdb5/mal/mal_atom.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_dataflow.c
        monetdb5/mal/mal_exception.c
        monetdb5/mal/mal_factory.c
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_namespace.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_session.c
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/blob.c
        monetdb5/modules/atoms/inet.c
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/str.c
        monetdb5/modules/atoms/streams.c
        monetdb5/modules/atoms/url.c
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/atoms/xml.c
        monetdb5/modules/kernel/alarm.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/kernel/batcolor.c
        monetdb5/modules/kernel/batmmath.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/kernel/status.c
        monetdb5/modules/mal/batExtensions.c
        monetdb5/modules/mal/bbp.c
        monetdb5/modules/mal/calc.c
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/groupby.c
        monetdb5/modules/mal/inspect.c
        monetdb5/modules/mal/iterator.c
        monetdb5/modules/mal/json_util.c
        monetdb5/modules/mal/language.c
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/manifold.c
        monetdb5/modules/mal/manual.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/mkey.c
        monetdb5/modules/mal/oltp.c
        monetdb5/modules/mal/orderidx.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/projectionpath.c
        monetdb5/modules/mal/querylog.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/sysmon.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/tracer.c
        monetdb5/modules/mal/txtsim.c
        monetdb5/modules/mal/wlc.c
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_emptybind.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_jit.c
        monetdb5/optimizer/opt_json.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_matpack.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_oltp.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_postfix.c
        monetdb5/optimizer/opt_projectionpath.c
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_querylog.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_wlc.c
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/scheduler/run_adder.c
        monetdb5/scheduler/run_memo.c
        monetdb5/tools/libmonetdb5.rc
        sql/ChangeLog
        sql/backends/monet5/UDF/capi/capi.c
        sql/backends/monet5/UDF/pyapi/connection.c
        sql/backends/monet5/UDF/pyapi/conversion.c
        sql/backends/monet5/UDF/pyapi/convert_loops.h
        sql/backends/monet5/UDF/pyapi/formatinput.c
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/backends/monet5/UDF/pyapi/pyloader.c
        sql/backends/monet5/UDF/pyapi/type_conversion.c
        sql/backends/monet5/UDF/udf/udf.c
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql.mal
        sql/backends/monet5/sql_bat2time.c
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_cast_impl_down_from_flt.h
        sql/backends/monet5/sql_cast_impl_int.h
        sql/backends/monet5/sql_cast_impl_up_to_flt.h
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_datetrunc.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_fround_impl.h
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_rank.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_round_impl.h
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_session.mal
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/sql_subquery.c
        sql/backends/monet5/sql_transaction.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/sql_user.c
        sql/backends/monet5/vaults/bam/bam_export.c
        sql/backends/monet5/vaults/bam/bam_lib.c
        sql/backends/monet5/vaults/bam/bam_loader.c
        sql/backends/monet5/vaults/bam/bam_wrapper.c
        sql/backends/monet5/vaults/fits/fits.c
        sql/backends/monet5/vaults/lidar/lidar.c
        sql/backends/monet5/vaults/netcdf/netcdf.c
        sql/backends/monet5/vaults/shp/shp.c
        sql/backends/monet5/wlr.c
        sql/scripts/22_clients.sql
        sql/scripts/26_sysmon.sql
        sql/scripts/51_sys_schema_extension.sql
        sql/server/rel_propagate.c
        sql/server/rel_psm.c
        sql/server/rel_schema.c
        sql/server/rel_select.c
        sql/server/rel_semantic.c
        sql/server/rel_sequence.c
        sql/server/rel_unnest.c
        sql/server/rel_updates.c
        sql/server/sql_mvc.c
        sql/server/sql_parser.y
        sql/server/sql_partition.c
        sql/server/sql_qc.c
        sql/server/sql_qc.h
        sql/server/sql_scan.c
        sql/server/sql_semantic.c
        
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.sql
        sql/test/BugTracker-2012/Tests/querycache.Bug-3212.stable.out
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.sql
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
        sql/test/BugTracker-2014/Tests/queueError.Bug-3604.sql
        sql/test/BugTracker-2014/Tests/queueError.Bug-3604.stable.out
        
sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
        sql/test/BugTracker-2019/Tests/All
        sql/test/BugTracker-2019/Tests/date_trunc.stable.out
        sql/test/BugTracker-2019/Tests/date_trunc_bulk.stable.out
        sql/test/Dependencies/Tests/dependency_loop.stable.out
        sql/test/Dependencies/Tests/dependency_loop.stable.out.int128
        sql/test/Users/Tests/sessioncontrol.sql
        sql/test/Users/Tests/sessioncontrol.stable.out
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/mergetables/Tests/All
        sql/test/mergetables/Tests/sqlsmith-exists.sql
        sql/test/mergetables/Tests/sqlsmith-exists.stable.out
        sql/test/miscellaneous/Tests/deallocate.sql
        sql/test/miscellaneous/Tests/deallocate.stable.err
        sql/test/miscellaneous/Tests/deallocate.stable.out
        sql/test/subquery/Tests/subquery3.sql
        sql/test/subquery/Tests/subquery3.stable.err
        sql/test/subquery/Tests/subquery3.stable.out
        sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql
        
sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out
        sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.sql
        sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        tools/merovingian/daemon/connections.c
        vertoo.data
Branch: gdk_tracer
Log Message:

Merge with default & minor changes


diffs (truncated from 21140 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -744,3 +744,9 @@ 90486f8f87ff0602f3ab143c629ba0aed2153d64
 13efc12c95a279d41dbc4440369defc1d7c21d0f Nov2019_release
 fffd3aabeae5e2c5b535179471e5730742962a76 Nov2019_5
 fffd3aabeae5e2c5b535179471e5730742962a76 Nov2019_SP1_release
+e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_7
+fffd3aabeae5e2c5b535179471e5730742962a76 Nov2019_SP1_release
+e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_SP1_release
+8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_9
+e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_SP1_release
+8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_SP1_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -1061,6 +1061,13 @@ fi
 %postun -p /sbin/ldconfig
 
 %changelog
+* Wed Dec 18 2019 Sjoerd Mullender <sjo...@acm.org> - 11.35.9-20191218
+- Rebuilt.
+- BZ#6804: DNS resolution of 0.0.0.0 fails on recent Ubuntus
+
+* Tue Dec 17 2019 Sjoerd Mullender <sjo...@acm.org> - 11.35.7-20191217
+- Rebuilt.
+
 * Thu Dec 12 2019 Sjoerd Mullender <sjo...@acm.org> - 11.35.5-20191212
 - Rebuilt.
 - BZ#6723: columns aliases duplicates should not be allowed. automatic
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,7 +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'{}\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'])
@@ -165,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',
@@ -177,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'])
@@ -213,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">')
@@ -268,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>')
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to