Changeset: 54e57436ba74 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54e57436ba74
Modified Files:
        NT/mkgeomwxs.py
        NT/mkodbcwxs.py
        NT/mksqlwxs.py
        buildtools/conf/monetdb.ico
        clients/mapiclient/mclient.c
        clients/mapiclient/mhelp.c
        clients/mapiclient/mhelp.h
        gdk/gdk_bbp.c
        gdk/gdk_join.c
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (truncated from 1661 to 300 lines):

diff --git a/NT/mkgeomwxs.py b/NT/mkgeomwxs.py
--- a/NT/mkgeomwxs.py
+++ b/NT/mkgeomwxs.py
@@ -46,7 +46,11 @@ def main():
     print(r'      <RegistrySearch Id="MonetDBRegistry" 
Key="Software\[Manufacturer]\MonetDB5" Name="InstallPath" Root="HKLM" 
Type="raw"/>')
     print(r'    </Property>')
     print(r'    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>')
+    print(r'    <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
     print(r'    <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
+    print(r'    <Condition Message="MonetDB5-SQL needs to be installed 
first.">')
+    print(r'      INSTALLDIR')
+    print(r'    </Condition>')
     print(r'    <Directory Id="TARGETDIR" Name="SourceDir">')
     print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="C:\Program Files (x86)\Common Files\Merge 
Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch))
     print(r'      <Directory Id="%s">' % folder)
@@ -82,8 +86,46 @@ def main():
         print(r'      <ComponentRef Id="%s"/>' % f)
     print(r'      <MergeRef Id="VCRedist"/>')
     print(r'    </Feature>')
-    print(r'    <UIRef Id="WixUI_InstallDir"/>')
+    # the <UI> section was lifted from
+    # ...\SDK\wixui\WixUI_InstallDir.wxs and modified to remove the
+    # InstallDirDlg subsection
+    # see 
http://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html
+    print(r'    <UI Id="MyWixUI_InstallDir">')
+    print(r'      <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" 
Size="8"/>')
+    print(r'      <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" 
Size="12"/>')
+    print(r'      <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" 
Bold="yes"/>')
+    print(r'      <Property Id="DefaultUIFont" Value="WixUI_Font_Normal"/>')
+    print(r'      <Property Id="WixUI_Mode" Value="InstallDir"/>')
+    print(r'      <DialogRef Id="BrowseDlg"/>')
+    print(r'      <DialogRef Id="DiskCostDlg"/>')
+    print(r'      <DialogRef Id="ErrorDlg"/>')
+    print(r'      <DialogRef Id="FatalError"/>')
+    print(r'      <DialogRef Id="FilesInUse"/>')
+    print(r'      <DialogRef Id="MsiRMFilesInUse"/>')
+    print(r'      <DialogRef Id="PrepareDlg"/>')
+    print(r'      <DialogRef Id="ProgressDlg"/>')
+    print(r'      <DialogRef Id="ResumeDlg"/>')
+    print(r'      <DialogRef Id="UserExit"/>')
+    print(r'      <Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" 
Value="WixUIValidatePath" Order="3">1</Publish>')
+    print(r'      <Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" 
Value="InvalidDirDlg" Order="4"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND 
WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>')
+    print(r'      <Publish Dialog="ExitDialog" Control="Finish" 
Event="EndDialog" Value="Return" Order="999">1</Publish>')
+    print(r'      <Publish Dialog="WelcomeDlg" Control="Next" 
Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish>')
+    print(r'      <Publish Dialog="WelcomeDlg" Control="Next" 
Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>')
+    print(r'      <Publish Dialog="LicenseAgreementDlg" Control="Back" 
Event="NewDialog" Value="WelcomeDlg">1</Publish>')
+    print(r'      <Publish Dialog="LicenseAgreementDlg" Control="Next" 
Event="NewDialog" Value="VerifyReadyDlg">LicenseAccepted = "1"</Publish>')
+    print(r'      <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="LicenseAgreementDlg" Order="1">NOT 
Installed</Publish>')
+    print(r'      <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT 
PATCH</Publish>')
+    print(r'      <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>')
+    print(r'      <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" 
Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>')
+    print(r'      <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" 
Event="NewDialog" Value="VerifyReadyDlg">1</Publish>')
+    print(r'      <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" 
Event="NewDialog" Value="VerifyReadyDlg">1</Publish>')
+    print(r'      <Publish Dialog="MaintenanceTypeDlg" Control="Back" 
Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>')
+    print(r'      <Property Id="ARPNOMODIFY" Value="1"/>')
+    print(r'    </UI>')
+    print(r'    <UIRef Id="WixUI_Common"/>')
+    print(r'    <UIRef Id="MyWixUI_InstallDir"/>')
     print(r'    <UIRef Id="WixUI_ErrorProgressText"/>')
+    print(r'    <Icon Id="monetdb.ico" SourceFile="monetdb.ico"/>')
     print(r'  </Product>')
     print(r'</Wix>')
 
diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py
--- a/NT/mkodbcwxs.py
+++ b/NT/mkodbcwxs.py
@@ -46,6 +46,7 @@ def main():
     print(r'    <WixVariable Id="WixUIBannerBmp" Value="banner.bmp"/>')
     # print(r'    <WixVariable Id="WixUIDialogBmp" 
Value="backgroundRipple.bmp"/>')
     print(r'    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>')
+    print(r'    <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
     print(r'    <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
     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"/>')
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -49,6 +49,7 @@ def main():
     print(r'      <RegistrySearch Id="MonetDBRegistry" 
Key="Software\[Manufacturer]\[ProductName]" Name="InstallPath" Root="HKLM" 
Type="raw"/>')
     print(r'    </Property>')
     print(r'    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>')
+    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">')
     print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="C:\Program Files (x86)\Common Files\Merge 
Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch))
diff --git a/buildtools/conf/monetdb.ico b/buildtools/conf/monetdb.ico
index 
fad690d3c111db967da3cf2e65cb6df338355064..1cd666db49c02edb3012cae55f0c257c359a9359
GIT binary patch
literal 16958
zc%1E8ZD?C%6n?TUO_QNj{1`H|L#7sC>MT~BN=s3h4z+EXqRjcj!G8IHqPBBwbGuE{
zsXsRM!~Kvsrh=6Tej%c=R5w&qL{P*p7O5W_qK!Idx}|x2&b>GFCQF)|w7GAm_bI0*
zP44@i^PKm*=lw{50Ds!s!QYF~+yR^ppqawAV8D9chYue<eE9I;!-o$a|1Gow^Qq?P
z_CqIn8nCJ-jBd!W=YNV=1lwa_?72CNvvm8S11&(XH;nfghjGTCN4GyZ5Uocuxu+>v
z#^P?>{^&q&1RE(zgmqy+w?AIvdf-IPfnRemh&5ofZlAmc`EQ!y&-oAy<1*boc?nqq
zIR7UdG5C^s5z_6KmmvSWIsRr0A{f@~lb7I__dEGB9)EL#bcSxfyaH=~dmevT55jm<
zw_jf2M&Q&!{+t5`V?dp5-#kLVSpyyGVViEpyn?KKMfeZt_R9+}&%=e>?K=2^Zr{8>
ztR72C@E_Ifn-^f7uPMf#bK+fPV3e{=4PvQoKWhcn`d3Tve_6$`gZz~(Y0Bq(Zwuqm
zqTBD;068vVo*yZ}f3sSPAo)%>V&Ie`lyCU?(`r3hb#ti(<i54&+_(65$us0QRD!=#
zvT8_<l*bRcg1CqrkCv!?hqy0_<enwJpIpS?$K3Nb0Sle&=Nhg97I5BwR&wkk*zSCu
z`Mum6<8m>G<KbKz?xAnN9K2_heJ#g*_cVDw(cOTi!gl1g(?t$UvNkTW?KJj8uwgEp
zr`v(~9GB-yaWA*;BfkSKV(^FRL!&$|ab!H7lQV{ABujwB>=gR)&a~Xa*eCbHrTS3)
zSVDeBUBqBa)(&aY*?`4z$H2J9yknb>SO_b~ZEQO3^l^We_3vTRf^~kCt6E?nnTx?n
z;AGa6*JQ8J9mFNIXKaDImyp-Uw7jix|1LM@rPh_}m$l$Ym-X<VdI$^cW&zr{lk%s;
z!5otsov~@7RpwpE^(}wg_sV)@@-on=2F&lr%7WZ>yT}2N!|d}Khi_*)YS00`-VzPr
z2C0`-^JN^n!?>LN8FGhNma{eH8M)_S+j^UO2j%Tb?DF|HT*e^Fc;&6B(IA%5hnJ@A
z9;lfYpVFsY!lSnVw=qYq<=@Mr^|+9)&yNLhG22`rdo#%;i5+!<&;Ra*vvbV5Be-;m
zhc%~vbL46zF?hvg46OMuh^w9L<qlfb9P&t3#Gwk2GhH+yS6&YPW&ds<!x*frl)EDa
z+g#SfTrPYlYe_*j0mh+2_T*BJW|8w4`+P!jC(mb|S!B;@`+Z-v+#NAkYsS%SE?9Oy
zRvU0-vHm!p&!peCGRGh1ym(V$B6GG(ULUgewL97Fu2?-TDB|Zilzp~+Ik&`T%H7fT
zc`o-zh57Ic^;V9_qB17tv0j}f-{0ExqgBo^te@w00w+!D+YnaM#utt}om9iPXSTTK
z*|PS^lNH9{-&n-)I{jUv?#F_vePAtPAARiWBlcT(hCeLzel|HDV}Bi*Y5S`R>O!eG
zl4d_+=3J3lJA|jGH!C@p590yqet!NKWfxz|oz)LE-(q&NW;`Cm3AN;&7l#3?pv~`R
z7>C)A6s6ZI-p9m&b&mEwsB&J+M8=sj>vi!igt`}D`ZGwszOG>`GR(P8Xh++b%MBFQ
zd?kBs10$4g>GNMz&XY-VZ)M;u%I#|8`2FtAymK8yi^;>lCfPSrKWm;h;^v+7i~Rc;
zxohHccNE!2`S9VxhYue<eE9I;qY5ZbF=6YBt+R1kx7lwr*}BozkJx&nt>3ftXc?U-
z)V2Ym&en$YMj+8-Ytv#jkPMmr)g?pXS~`@f+e4iSr33q^lZ_etEX|uTSjWfFmc><V
zDuq6U#(+X#Tp6Jx5Za*<fi%!0pT&(pCa%(;g%rEyc~A|r4;~B?;!T31AjVVF;#4*_
NDhY%vXKOh~{{Y9z6uSTb

diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -2703,7 +2703,10 @@ doFile(Mapi mid, stream *fp, int useinse
                                                }
                                        } else
 #endif
-                                               sql_help(line, toConsole);
+                                       {
+                                               setWidth();
+                                               sql_help(line, toConsole, 
pagewidth <= 0 ? DEFWIDTH : pagewidth);
+                                       }
                                        continue;
                                }
 /* for later
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -30,7 +30,7 @@
 #include "stream.h"
 #include "mhelp.h"
 
-typedef struct{
+typedef struct {
        char *command;
        char *synopsis;
        char *syntax;
@@ -38,658 +38,842 @@ typedef struct{
        char *comments;
 } SQLhelp;
 
-SQLhelp sqlhelp[]={
+SQLhelp sqlhelp[] = {
        // major commands
-       { "ALTER TABLE",
-         "",
-         "ALTER TABLE qname ADD [COLUMN] { column_def | table_constraint }\n"
-         "ALTER TABLE qname ALTER [COLUMN] ident SET DEFAULT value\n"
-         "ALTER TABLE qname ALTER [COLUMN] ident SET [NOT] NULL\n"
-         "ALTER TABLE qname ALTER [COLUMN] ident DROP DEFAULT\n"
-         "ALTER TABLE qname ALTER [COLUMN] ident SET STORAGE {string | NULL} 
\n"
-         "ALTER TABLE qname DROP [COLUMN] ident [RESTRICT | CASCADE]\n"
-         "ALTER TABLE qname DROP CONSTRAINT ident [RESTRICT | CASCADE]\n"
-         "ALTER TABLE qname SET { { READ | INSERT } ONLY | READ WRITE }",
-         "column_def,table_constraint",
-         "See also https://www.monetdb.org/Documentation/SQLreference/Alter";
-       },
-       { "ALTER MERGE TABLE",
-         "",
-         "ALTER TABLE qname ADD TABLE qname\n"
-         "ALTER TABLE qname DROP TABLE qname [RESTRICT | CASCADE]\n",
-         "",
-         "See also 
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/DataPartitioning";
-       },
-       { "ALTER SEQUENCE",
-         "",
-         "ALTER SEQUENCE ident [ AS datatype] [ RESTART [WITH start]] 
[INCREMENT BY increment]\n"
-         "[MINVALUE minvalue | NO MINVALUE]  [MAXVALUE maxvalue | NOMAXVALUE] 
| [ [ NO] CYCLE]",
-         0,
-         "See also 
https://www.monetdb.org/Documentation/Manuals/SQLreference/SerialTypes";
-       },
-       { "ALTER USER",
-         "",
-     "ALTER USER ident  WITH [ ENCRYPTED | UNENCRYPTED] PASSWORD string\n"
-     "ALTER USER ident  SET SCHEMA ident\n"
-     "ALTER USER ident  WITH [ENCRYPTED | UNENCRYPTED] PASSWORD SET SCHEMA 
ident\n"
-     "ALTER USER RENAME TO ident  \n"
-     "ALTER USER SET [ ENCRYPTED | UNENCRYPTED] PASSWORD string USING OLD 
PASSWORD string",
-         0, "See also https://www.monetdb.org/Documentation/SQLreference/Users";
-       },
-    { "ANALYZE",
-         "Collect statistics for optimizations",
-         "ANALYZE qname [column_list] [SAMPLE size] [MINMAX]",
-         "column_list",
-         "See also 
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/statistics";
-       },
-       { "CALL",
-         "",
-         "CALL qname '(' [ [scalar_expression ] [ ',' ...]  ]')' | CALL ident 
'.' ident",
-         0,0
-       },
-       { "CASE",
-         "Case statement for procedures/functions",
-         "CASE  scalar_expression [ when_statement ...]  [ELSE 
procedure_statement ... ] END CASE",
-         0,"See also 
https://www.monetdb.org/Documentation/SQLreference/Flowofcontrol";
-       },
-    { "COMMIT",
-         "Commit the current transaction",
-         "COMMIT [ WORK ] [ AND CHAIN | AND NO CHAIN ]",
-         0,0
-       },
-       { "COPY BINARY",
-         "Append binary representations into a table",
-         "COPY [nrofrecords] BINARY INTO qname [column_list] FROM string 
[','...] [NO CONSTRAINT]",
-         "nrofrecords",
-         "see 
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/BinaryBulkLoad";
-       },
-       { "COPY INTO",
-         "Parse a csv-file into a table",
-         "COPY [nrofrecords] INTO qname [column_list] FROM string [','...] 
[headerlist] [ separators]\n"
-         " [NULL [AS] string] [LOCKED] [BEST EFFORT] [NO CONSTRAINT] [FWF '(' 
integer [','...]')'\n"
-         "COPY [nrofrecords] INTO qname [column_list] FROM STDIN [headerlist] 
[ separators]\n"
-         " [NULL [AS] string] [LOCKED] [BEST EFFORT] [NO CONSTRAINT]\n"
-         "COPY query_expression INTO [STDOUT | string] [seps] [NULL [AS] 
string]",
-         "nrofrecords,headerlist,separators",
-         "See also 
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/LoadingBulkData";
-       },
-       { "COPY LOADER",
-         "Copy into using a user supplied parsing function",
-         "COPY LOADER INTO qname FROM qname '(' [ scalar_expression ... ] ')'",
-        0,0
-       },
-       { "CREATE AGGREGATE FUNCTION",
-         "",
-         "CREATE AGGREGATE  FUNCTION qname '(' { '*' | [ param [',' ...]] } 
')'\n"
-         "    RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')' 
}\n"
-         "    EXTERNAL NAME ident ',' ident\n"
-         "CREATE AGGREGATE FUNCTION qname '(' { '*' | [ param [',' ...]] 
}')'\n"
-         "    RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')' 
}\n"
-         "    LANGUAGE ident external_code",
-         "param,data_type,function_return",
-         0
-       },
-       { "CREATE FILTER FUNCTION",
-         "",
-         "CREATE FILTER  FUNCTION qname '(' { '*' | [ param [',' ...]] } ')'\n"
-         "    RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')' 
}\n"
-         "    EXTERNAL NAME ident ',' ident",
-         "param,data_type,function_return",
-         0
-       },
-       { "CREATE FUNCTION",
-         "",
-         "CREATE FUNCTION qname '(' { '*' | [ param [',' ...]] } ')'\n"
-         "    RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')' 
}\n"
-         "    EXTERNAL NAME ident ',' ident\n"
-         "CREATE FUNCTION qname '(' { '*' | [ param [',' ...]] } ')'\n"
-         "    RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')' 
}\n"
-         "    BEGIN [ ATOMIC ] statement [ ';' ...] END\n"
-         "CREATE FUNCTION qname '(' { '*' | [ param [',' ...]] }')'\n"
-         "    RETURNS { data_type | TABLE '(' function_return [ ',' ... ] ')' 
}\n"
-         "    LANGUAGE ident external_code",
-         "param,data_type,function_return,external_code",
-         0
-       },
-       { "CREATE INDEX",
-         "",
-         "CREATE [ UNIQUE | ORDERED | IMPRINTS ] INDEX ident ON qname '(' 
ident_list ')'",
-         0,0
-       },
-       { "CREATE PROCEDURE",
-         "",
-         "CREATE PROCEDURE qname '(' { '*' | [ param [',' ...]] }')'\n"
-         "    EXTERNAL NAME ident ',' ident\n"
-         "CREATE PROCEDURE qname '(' { '*' | [ param [',' ...]] } ')'\n"
-         "    BEGIN [ ATOMIC ] procedure_statement [ ';' ...] END\n"
-         "CREATE PROCEDURE qname '(' { '*' | [ param [',' ...]] } ')'\n"
-         "    LANGUAGE ident external_code",
-         "param,data_type,external_code",
-         0
-       },
-       { "CREATE LOADER",
-         "",
-         "CREATE LOADER qname '(' [ param [',' ...]] ')'\n"
-         "    LANGUAGE ident external_code",
-         "param,data_type,function_return,external_code",
-         0
-       },
-       { "CREATE MERGE TABLE",
-         "",
-         "CREATE MERGE TABLE qname table_source;",
-         0, "See also 
https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/DataPartitioning";
-     },
-       { "CREATE REMOTE TABLE",
-         "",
-         "CREATE REMOTE TABLE qname ON string",
-        0,"remote name should match 
mapi:monetdb://host:port/database[/schema[/table]]"
-       },
-       { "CREATE REPLICA TABLE",
-         "",
-         "CREATE REPLICA TABLE qname table_source;",
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to