Changeset: 346b4847fc68 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=346b4847fc68
Added Files:
        sql/test/BugTracker-2015/Tests/left_shift_inet.Bug-3730.sql
        sql/test/BugTracker-2015/Tests/left_shift_inet.Bug-3730.stable.err
        sql/test/BugTracker-2015/Tests/left_shift_inet.Bug-3730.stable.out
        sql/test/BugTracker-2015/Tests/outerjoin_project.Bug-3725.sql
        sql/test/BugTracker-2015/Tests/outerjoin_project.Bug-3725.stable.err
        sql/test/BugTracker-2015/Tests/outerjoin_project.Bug-3725.stable.out
Modified Files:
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/rules.msc
        sql/server/rel_optimizer.c
        sql/server/sql_parser.y
        sql/storage/bat/bat_logger.c
        sql/test/BugTracker-2015/Tests/All
Branch: default
Log Message:

Merge with Oct2014 branch.


diffs (truncated from 545 to 300 lines):

diff --git a/NT/installer32/MonetDB-ODBC-Installer.vdproj 
b/NT/installer32/MonetDB-ODBC-Installer.vdproj
--- a/NT/installer32/MonetDB-ODBC-Installer.vdproj
+++ b/NT/installer32/MonetDB-ODBC-Installer.vdproj
@@ -330,7 +330,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_779449EF5BAD4B068A50802402E52278"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win32\\bin\\libeay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win32\\bin\\libeay32.dll"
             "TargetName" = "8:libeay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_376EC0506E4F452CA2C78ACE11515435"
@@ -370,7 +370,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B1B1C0011D7945F892A77F529772EA72"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win32\\bin\\ssleay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win32\\bin\\ssleay32.dll"
             "TargetName" = "8:ssleay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_376EC0506E4F452CA2C78ACE11515435"
diff --git a/NT/installer32/MonetDB5-SQL-Installer.vdproj 
b/NT/installer32/MonetDB5-SQL-Installer.vdproj
--- a/NT/installer32/MonetDB5-SQL-Installer.vdproj
+++ b/NT/installer32/MonetDB5-SQL-Installer.vdproj
@@ -1770,7 +1770,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2E0FEE7726DA47369758C263666F3DB1"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win32\\lib\\libeay32.lib"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win32\\lib\\libeay32.lib"
             "TargetName" = "8:libeay32.lib"
             "Tag" = "8:"
             "Folder" = "8:_A3C9BE5CA72B42628868618D180581DA"
@@ -1970,7 +1970,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_45C820B6483D494EBFE6F9A28A30760C"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win32\\bin\\ssleay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win32\\bin\\ssleay32.dll"
             "TargetName" = "8:ssleay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_1EC19BD0D849484790DB6A7D69758E24"
@@ -2150,7 +2150,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_52DCEC5806254D3F9246489B9C5DFC27"
             {
-            "SourcePath" = "8:C:\\Libraries\\pcre-8.36.win32\\bin\\pcre.dll"
+            "SourcePath" = "8:C:\\Libraries\\pcre-8.37.win32\\bin\\pcre.dll"
             "TargetName" = "8:pcre.dll"
             "Tag" = "8:"
             "Folder" = "8:_1EC19BD0D849484790DB6A7D69758E24"
@@ -2490,7 +2490,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_732094CE07974147A084EDD6A5F43C6F"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win32\\lib\\ssleay32.lib"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win32\\lib\\ssleay32.lib"
             "TargetName" = "8:ssleay32.lib"
             "Tag" = "8:"
             "Folder" = "8:_A3C9BE5CA72B42628868618D180581DA"
@@ -2870,7 +2870,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A3D31DA50E0F4AE1873E390D5B7F1F33"
             {
-            "SourcePath" = "8:C:\\Libraries\\pcre-8.36.win32\\lib\\pcre.lib"
+            "SourcePath" = "8:C:\\Libraries\\pcre-8.37.win32\\lib\\pcre.lib"
             "TargetName" = "8:pcre.lib"
             "Tag" = "8:"
             "Folder" = "8:_A3C9BE5CA72B42628868618D180581DA"
@@ -3650,7 +3650,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E80B0549492B4D76B7EB93941A6BF89D"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win32\\bin\\libeay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win32\\bin\\libeay32.dll"
             "TargetName" = "8:libeay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_1EC19BD0D849484790DB6A7D69758E24"
diff --git a/NT/installer64/MonetDB-ODBC-Installer.vdproj 
b/NT/installer64/MonetDB-ODBC-Installer.vdproj
--- a/NT/installer64/MonetDB-ODBC-Installer.vdproj
+++ b/NT/installer64/MonetDB-ODBC-Installer.vdproj
@@ -330,7 +330,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_779449EF5BAD4B068A50802402E52278"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win64\\bin\\libeay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win64\\bin\\libeay32.dll"
             "TargetName" = "8:libeay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_376EC0506E4F452CA2C78ACE11515435"
@@ -370,7 +370,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B1B1C0011D7945F892A77F529772EA72"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win64\\bin\\ssleay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win64\\bin\\ssleay32.dll"
             "TargetName" = "8:ssleay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_376EC0506E4F452CA2C78ACE11515435"
diff --git a/NT/installer64/MonetDB5-SQL-Installer.vdproj 
b/NT/installer64/MonetDB5-SQL-Installer.vdproj
--- a/NT/installer64/MonetDB5-SQL-Installer.vdproj
+++ b/NT/installer64/MonetDB5-SQL-Installer.vdproj
@@ -1770,7 +1770,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2E0FEE7726DA47369758C263666F3DB1"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win64\\lib\\libeay32.lib"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win64\\lib\\libeay32.lib"
             "TargetName" = "8:libeay32.lib"
             "Tag" = "8:"
             "Folder" = "8:_A3C9BE5CA72B42628868618D180581DA"
@@ -1970,7 +1970,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_45C820B6483D494EBFE6F9A28A30760C"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win64\\bin\\ssleay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win64\\bin\\ssleay32.dll"
             "TargetName" = "8:ssleay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_1EC19BD0D849484790DB6A7D69758E24"
@@ -2150,7 +2150,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_52DCEC5806254D3F9246489B9C5DFC27"
             {
-            "SourcePath" = "8:C:\\Libraries\\pcre-8.36.win64\\bin\\pcre.dll"
+            "SourcePath" = "8:C:\\Libraries\\pcre-8.37.win64\\bin\\pcre.dll"
             "TargetName" = "8:pcre.dll"
             "Tag" = "8:"
             "Folder" = "8:_1EC19BD0D849484790DB6A7D69758E24"
@@ -2490,7 +2490,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_732094CE07974147A084EDD6A5F43C6F"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win64\\lib\\ssleay32.lib"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win64\\lib\\ssleay32.lib"
             "TargetName" = "8:ssleay32.lib"
             "Tag" = "8:"
             "Folder" = "8:_A3C9BE5CA72B42628868618D180581DA"
@@ -2870,7 +2870,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A3D31DA50E0F4AE1873E390D5B7F1F33"
             {
-            "SourcePath" = "8:C:\\Libraries\\pcre-8.36.win64\\lib\\pcre.lib"
+            "SourcePath" = "8:C:\\Libraries\\pcre-8.37.win64\\lib\\pcre.lib"
             "TargetName" = "8:pcre.lib"
             "Tag" = "8:"
             "Folder" = "8:_A3C9BE5CA72B42628868618D180581DA"
@@ -3650,7 +3650,7 @@
             }
             
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E80B0549492B4D76B7EB93941A6BF89D"
             {
-            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.1k.win64\\bin\\libeay32.dll"
+            "SourcePath" = 
"8:C:\\Libraries\\openssl-1.0.2a.win64\\bin\\libeay32.dll"
             "TargetName" = "8:libeay32.dll"
             "Tag" = "8:"
             "Folder" = "8:_1EC19BD0D849484790DB6A7D69758E24"
diff --git a/NT/rules.msc b/NT/rules.msc
--- a/NT/rules.msc
+++ b/NT/rules.msc
@@ -86,18 +86,6 @@ PYTHON3LIB=python32.lib
 PYTHON3_LIBDIR=share\MonetDB\python3
 
 !IFDEF HAVE_PERL
-!IFNDEF LIBPERL
-!IF $(bits) == 32
-LIBPERL = C:\Perl
-!ELSE
-LIBPERL = C:\Perl64
-!ENDIF
-!ENDIF
-!IFNDEF PERLLIB
-PERLLIB = perl510.lib
-!ENDIF
-PERL_INCS = -I$(LIBPERL)\lib\CORE -DWIN32
-PERL_LIBS = $(LIBPERL)\lib\CORE\$(PERLLIB)
 PERL_LIBDIR = share\MonetDB\perl
 !ENDIF
 
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -4773,6 +4773,9 @@ rel_push_project_up(int *changes, mvc *s
                if (!l || rel_is_ref(l) || 
                   (is_join(rel->op) && (!r || rel_is_ref(r))) ||
                   (is_select(rel->op) && l->op != op_project) ||
+                  /* we cannot rewrite projection from outer joins */
+                  ((is_left(rel->op) || is_full(rel->op)) && r->op == 
op_project) ||
+                  ((is_right(rel->op) || is_full(rel->op)) && l->op == 
op_project) ||
                   (is_join(rel->op) && l->op != op_project && r->op != 
op_project) ||
                  ((l->op == op_project && (!l->l || l->r || 
project_unsafe(l))) ||
                   (is_join(rel->op) && (is_subquery(r) ||
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -3460,90 +3460,90 @@ simple_scalar_exp:
  |  scalar_exp '+' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "sql_add")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "sql_add")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp '-' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "sql_sub")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "sql_sub")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp '*' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "sql_mul")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "sql_mul")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp '/' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "sql_div")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "sql_div")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp '%' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "mod")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "mod")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp '^' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "bit_xor")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "bit_xor")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp '&' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "bit_and")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "bit_and")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp '|' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "bit_or")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "bit_or")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  '~' scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, "bit_not")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "bit_not")));
                          append_symbol(l, $2);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp LEFT_SHIFT scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, 
"left_shift")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "left_shift")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp RIGHT_SHIFT scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, 
"right_shift")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "right_shift")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp LEFT_SHIFT_ASSIGN scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, 
"left_shift_assign")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "left_shift_assign")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
  |  scalar_exp RIGHT_SHIFT_ASSIGN scalar_exp
                        { dlist *l = L();
                          append_list(l, 
-                               append_string(L(), sa_strdup(SA, 
"right_shift_assign")));
+                               append_string(append_string(L(), sa_strdup(SA, 
"sys")), sa_strdup(SA, "right_shift_assign")));
                          append_symbol(l, $1);
                          append_symbol(l, $3);
                          $$ = _symbol_create_list( SQL_BINOP, l ); }
@@ -3561,7 +3561,7 @@ simple_scalar_exp:
                          if (!$$) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to