Changeset: e83ff9dd6253 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e83ff9dd6253
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
gdk/gdk_private.h
gdk/gdk_search.c
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_evaluate.c
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/sql_execute.c
Branch: subjoin
Log Message:
Merge with default branch, undoing changes to gdk_join.c.
diffs (truncated from 2936 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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list