Changeset: 1a3a59df1dcb for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1a3a59df1dcb
Modified Files:
NT/installer32/cv64-32.sh
NT/installer64/cv32-64.sh
gdk/gdk_atoms.c
sql/storage/store.c
sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view1.sql
sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view2.sql
sql/test/pg_regress/Tests/load.SQL.sh
sql/test/pg_regress/postgresql2sql99.sh
testing/quicktest
Branch: default
Log Message:
Merge with Jan2014 branch.
diffs (290 lines):
diff --git a/NT/installer32/cv64-32.sh b/NT/installer32/cv64-32.sh
--- a/NT/installer32/cv64-32.sh
+++ b/NT/installer32/cv64-32.sh
@@ -19,13 +19,13 @@
# this script is mostly to document what I did, not for regular use.
cp ../installer64/*.{vdproj,sln} .
-sed -i -e '/TargetPlatform/s/3:1/3:0/' \
- -e 's/win64/win32/' \
- -e 's/\[ProgramFiles64Folder\]/[ProgramFilesFolder]/' \
- -e 's/C:\\\\Program Files.*\\\\Common Files\\\\Merge
Modules\\\\Microsoft_VC100_CRT_x64.msm/C:\\\\Program Files\\\\Common
Files\\\\Merge Modules\\\\Microsoft_VC100_CRT_x86.msm/' \
- -e 's/"ProductCode" = "8:{.*/"ProductCode" =
"8:{66BABD32-D69D-4A89-A7F3-2655D4CD0641}"/' \
- -e 's/"PackageCode" = "8:{.*/"PackageCode" =
"8:{D9B2D386-1461-43BC-9A63-93F1BA0D7921}"/' \
- -e 's/"UpgradeCode" =
"8:{95ACBC8C-BC4B-4901-AF70-48B54A5C20F7}"/"UpgradeCode" =
"8:{C1F69378-3F5C-4120-8224-32F07D3458F3}"/' \
- -e 's/"UpgradeCode" =
"8:{8E6CDFDE-39B9-43D9-97B3-2440C012845C}"/"UpgradeCode" =
"8:{92C89C36-0E86-45E1-B3D8-0D6C91108F30}"/' \
- -e 's/"UpgradeCode" =
"8:{839D3C90-B578-41E2-A004-431440F9E899}"/"UpgradeCode" =
"8:{730C595B-DBA6-48D7-94B8-A98780AC92B6}"/' \
+sed -i~ -e '/TargetPlatform/s/3:1/3:0/' \
+ -e 's/win64/win32/' \
+ -e 's/\[ProgramFiles64Folder\]/[ProgramFilesFolder]/' \
+ -e 's/C:\\\\Program Files.*\\\\Common Files\\\\Merge
Modules\\\\Microsoft_VC100_CRT_x64.msm/C:\\\\Program Files\\\\Common
Files\\\\Merge Modules\\\\Microsoft_VC100_CRT_x86.msm/' \
+ -e 's/"ProductCode" = "8:{.*/"ProductCode" =
"8:{66BABD32-D69D-4A89-A7F3-2655D4CD0641}"/' \
+ -e 's/"PackageCode" = "8:{.*/"PackageCode" =
"8:{D9B2D386-1461-43BC-9A63-93F1BA0D7921}"/' \
+ -e 's/"UpgradeCode" =
"8:{95ACBC8C-BC4B-4901-AF70-48B54A5C20F7}"/"UpgradeCode" =
"8:{C1F69378-3F5C-4120-8224-32F07D3458F3}"/' \
+ -e 's/"UpgradeCode" =
"8:{8E6CDFDE-39B9-43D9-97B3-2440C012845C}"/"UpgradeCode" =
"8:{92C89C36-0E86-45E1-B3D8-0D6C91108F30}"/' \
+ -e 's/"UpgradeCode" =
"8:{839D3C90-B578-41E2-A004-431440F9E899}"/"UpgradeCode" =
"8:{730C595B-DBA6-48D7-94B8-A98780AC92B6}"/' \
*.vdproj
diff --git a/NT/installer64/cv32-64.sh b/NT/installer64/cv32-64.sh
--- a/NT/installer64/cv32-64.sh
+++ b/NT/installer64/cv32-64.sh
@@ -19,13 +19,13 @@
# this script is mostly to document what I did, not for regular use.
cp ../installer32/*.{vdproj,sln} .
-sed -i -e '/TargetPlatform/s/3:0/3:1/' \
- -e 's/win32/win64/' \
- -e 's/\[ProgramFilesFolder\]/[ProgramFiles64Folder]/' \
- -e 's/C:\\\\Program Files.*\\\\Common Files\\\\Merge
Modules\\\\Microsoft_VC100_CRT_x86.msm/C:\\\\Program Files\\\\Common
Files\\\\Merge Modules\\\\Microsoft_VC100_CRT_x86_x64.msm/' \
- -e 's/"ProductCode" = "8:{.*/"ProductCode" =
"8:{ACC32EDD-13CE-4079-A6E7-D9DD94DA42EE}"/' \
- -e 's/"PackageCode" = "8:{.*/"PackageCode" =
"8:{332EB6D8-73DD-48CA-83E7-BB1922FFE3BD}"/' \
- -e 's/"UpgradeCode" =
"8:{C1F69378-3F5C-4120-8224-32F07D3458F3}"/"UpgradeCode" =
"8:{95ACBC8C-BC4B-4901-AF70-48B54A5C20F7}"/' \
- -e 's/"UpgradeCode" =
"8:{92C89C36-0E86-45E1-B3D8-0D6C91108F30}"/"UpgradeCode" =
"8:{8E6CDFDE-39B9-43D9-97B3-2440C012845C}"/' \
- -e 's/"UpgradeCode" =
"8:{730C595B-DBA6-48D7-94B8-A98780AC92B6}"/"UpgradeCode" =
"8:{839D3C90-B578-41E2-A004-431440F9E899}"/' \
+sed -i~ -e '/TargetPlatform/s/3:0/3:1/' \
+ -e 's/win32/win64/' \
+ -e 's/\[ProgramFilesFolder\]/[ProgramFiles64Folder]/' \
+ -e 's/C:\\\\Program Files.*\\\\Common Files\\\\Merge
Modules\\\\Microsoft_VC100_CRT_x86.msm/C:\\\\Program Files\\\\Common
Files\\\\Merge Modules\\\\Microsoft_VC100_CRT_x86_x64.msm/' \
+ -e 's/"ProductCode" = "8:{.*/"ProductCode" =
"8:{ACC32EDD-13CE-4079-A6E7-D9DD94DA42EE}"/' \
+ -e 's/"PackageCode" = "8:{.*/"PackageCode" =
"8:{332EB6D8-73DD-48CA-83E7-BB1922FFE3BD}"/' \
+ -e 's/"UpgradeCode" =
"8:{C1F69378-3F5C-4120-8224-32F07D3458F3}"/"UpgradeCode" =
"8:{95ACBC8C-BC4B-4901-AF70-48B54A5C20F7}"/' \
+ -e 's/"UpgradeCode" =
"8:{92C89C36-0E86-45E1-B3D8-0D6C91108F30}"/"UpgradeCode" =
"8:{8E6CDFDE-39B9-43D9-97B3-2440C012845C}"/' \
+ -e 's/"UpgradeCode" =
"8:{730C595B-DBA6-48D7-94B8-A98780AC92B6}"/"UpgradeCode" =
"8:{839D3C90-B578-41E2-A004-431440F9E899}"/' \
*.vdproj
diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c
--- a/gdk/gdk_atoms.c
+++ b/gdk/gdk_atoms.c
@@ -432,14 +432,6 @@ voidWrite(const void *a, stream *s, size
}
/*
- * Windows calls strncasecmp _strnicmp, and we need it for the function below.
- * Interface is the same, see
http://msdn.microsoft.com/en-us/library/chd90w8e.aspx
- */
-#ifdef NATIVE_WIN32
- #define strncasecmp _strnicmp
-#endif
-
-/*
* Converts string values such as TRUE/FALSE/true/false etc to 1/0/NULL.
* Switched from byte-to-byte compare to library function strncasecmp,
* experiments showed that library function is even slightly faster and we
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -3555,7 +3555,7 @@ sys_drop_table(sql_trans *tr, sql_table
sql_trans_drop_dependencies(tr, t->base.id);
- if (isKindOfTable(t))
+ if (isKindOfTable(t) || isView(t))
sys_drop_columns(tr, t, drop_action);
if (isGlobal(t))
diff --git
a/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view1.sql
b/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view1.sql
---
a/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view1.sql
+++
b/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view1.sql
@@ -22,6 +22,6 @@ CREATE VIEW find_TERM_from_DOC_attribute
CREATE VIEW find_TERM_from_DOC_attribute_1_RESULT_result AS
SELECT ALL a1, 1-prod(1-prob) AS prob FROM
find_TERM_from_DOC_attribute_1_RESULT_result_1 GROUP BY a1;
-SELECT a.a1 as value, 'term' as type, a.prob FROM
find_TERM_from_DOC_attribute_1_RESULT_result as a ORDER BY "prob" DESC LIMIT 50
OFFSET 0;
+SELECT a.a1 as value, 'term' as type, a.prob FROM
find_TERM_from_DOC_attribute_1_RESULT_result as a ORDER BY "prob" DESC, value
LIMIT 50 OFFSET 0;
ROLLBACK;
diff --git
a/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view2.sql
b/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view2.sql
---
a/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view2.sql
+++
b/sql/test/BugTracker-2009/Tests/old_views_incorrectly_reused.SF-2863804.view2.sql
@@ -22,6 +22,6 @@ CREATE VIEW find_TERM_from_DOC_attribute
CREATE VIEW find_TERM_from_DOC_attribute_1_RESULT_result AS
SELECT ALL a1, 1-prod(1-prob) AS prob FROM
find_TERM_from_DOC_attribute_1_RESULT_result_1 GROUP BY a1;
-SELECT a.a1 as value, 'term' as type, a.prob FROM
find_TERM_from_DOC_attribute_1_RESULT_result as a ORDER BY "prob" DESC LIMIT 50
OFFSET 0;
+SELECT a.a1 as value, 'term' as type, a.prob FROM
find_TERM_from_DOC_attribute_1_RESULT_result as a ORDER BY "prob" DESC, value
LIMIT 50 OFFSET 0;
ROLLBACK;
diff --git a/sql/test/pg_regress/Tests/load.SQL.sh
b/sql/test/pg_regress/Tests/load.SQL.sh
--- a/sql/test/pg_regress/Tests/load.SQL.sh
+++ b/sql/test/pg_regress/Tests/load.SQL.sh
@@ -7,10 +7,10 @@ Mlog "loading data with sed-foo"
# don't load stud_emp, as it's the only data file with \N entries
# (PostgreSQL NULL notation)
sed -r \
- -e s+@abs_srcdir@+$TSTSRCBASE/$TSTDIR+ig \
+ -e s+@abs_srcdir@+$TSTSRCBASE/$TSTDIR+Ig \
-e '/@abs_builddir@/d' \
-e '/DELETE FROM/d' \
- -e "s/COPY (.*);/COPY INTO \1 USING DELIMITERS '\\\\t\', '\\\\n';/i" \
+ -e "s/COPY (.*);/COPY INTO \1 USING DELIMITERS '\\\\t\', '\\\\n';/I" \
-e '/stud_emp/d' \
$TSTSRCDIR/../input/copy.source \
| $SQL_CLIENT
diff --git a/sql/test/pg_regress/postgresql2sql99.sh
b/sql/test/pg_regress/postgresql2sql99.sh
--- a/sql/test/pg_regress/postgresql2sql99.sh
+++ b/sql/test/pg_regress/postgresql2sql99.sh
@@ -22,74 +22,74 @@
# Note: when bug 3520 has been implemented, remove the substitution rule: -e
's/LN(/LOG(/ig' \
sed -r \
- -e 's/\bAS true/AS "true"/ig' \
- -e 's/\bAS false/AS "false"/ig' \
- -e 's/\bIS TRUE/= TRUE/ig' \
- -e 's/\bIS FALSE/= FALSE/ig' \
- -e 's/\bIS NOT TRUE/= NOT TRUE/ig' \
- -e 's/\bIS NOT FALSE/= NOT FALSE/ig' \
- -e 's/\bbool '*'\b/cast('\1' as boolean)/ig' \
- -e 's/\char 'c'/cast('c' as char)/ig' \
- -e 's/\bint2 '0'/cast('0' as smallint)/ig' \
- -e 's/\bint2 '1'/cast('1' as smallint)/ig' \
- -e 's/\bint2 '2'/cast('2' as smallint)/ig' \
- -e 's/\bint2 '4'/cast('4' as smallint)/ig' \
- -e 's/\bint2 '16'/cast('16' as smallint)/ig' \
- -e 's/\bint4 '0'/cast('0' as integer)/ig' \
- -e 's/\bint4 '1'/cast('1' as integer)/ig' \
- -e 's/\bint4 '2'/cast('2' as integer)/ig' \
- -e 's/\bint4 '4'/cast('4' as integer)/ig' \
- -e 's/\bint4 '16'/cast('16' as integer)/ig' \
- -e 's/\bint4 '999'/cast('999' as integer)/ig' \
- -e 's/\bint4 '1000'/cast('1000' as integer)/ig' \
- -e 's/\bint8 '0'/cast('0' as bigint)/ig' \
- -e 's/\bint2\b/smallint/ig' \
- -e 's/\bint4\b/integer/ig' \
- -e 's/\bint8\b/bigint/ig' \
- -e 's/\bfloat4\b/real/ig' \
- -e 's/\bfloat8\b/double/ig' \
- -e 's/\bnumeric(210,10)\b/numeric(18,10)/ig' \
- -e 's/\bfloat8 (*)/cast(\1 as double)/ig' \
- -e 's/\bbytea\b/blob/ig' \
- -e 's/\bpath\b/string/ig' \
- -e 's/\bpoint\b/string/ig' \
- -e 's/\bbox\b/string/ig' \
- -e 's/\bpolygon\b/string/ig' \
- -e 's/\bcity_budget\b/decimal(7,2)/ig' \
- -e 's/\bdate 'yesterday'/sql_sub(current_date, 24*60*60.0)/ig' \
- -e 's/\bdate 'today'/current_date/ig' \
- -e 's/\bdate 'tomorrow'/sql_add((current_date, 24*60*60.0)/ig' \
- -e 's/\bname,/string,/ig' \
- -e 's/\bname$/string/ig' \
- -e 's/LOG(numeric '10',/LOG10(/ig' \
- -e 's/LOG(/LOG10(/ig' \
- -e 's/LN(/LOG(/ig' \
- -e 's/substr(/substring(/ig' \
- -e 's/strpos(*,*)/locate(\2,\1)/ig' \
- -e 's/TRIM(BOTH FROM *)/TRIM(\1)/ig' \
- -e 's/TRIM(LEADING FROM *)/LTRIM(\1)/ig' \
- -e 's/TRIM(TRAILING FROM *)/RTRIM(\1)/ig' \
- -e 's/TRIM(BOTH * FROM *)/TRIM(replace(\2,\1,' '))/ig' \
- -e 's/\bnumeric '10'/cast('10.0' as numeric(2,0))/ig' \
- -e 's/\btext 'text'/cast('text' as text)/ig' \
- -e 's/\bchar(20) 'characters'/cast('characters' as char(20))/ig' \
- -e 's/\b!= /<> /ig' \
- -e 's/(.*)\bFROM ONLY (.*)/\1 FROM \2/ig' \
- -e 's/BEGIN TRANSACTION;/START TRANSACTION;/ig' \
- -e 's/BEGIN;/START TRANSACTION;/ig' \
- -e 's/END;/COMMIT;/ig' \
- -e 's/COMMIT TRANSACTION;/COMMIT;/ig' \
- -e 's/^COMMENT.*;$//ig' \
- -e 's/\) (INHERITS.*);/\); -- \1/ig' \
- -e 's/VACUUM ANALYZE *;/\/* VACUUM ANALYZE \1; *\//ig' \
- -e 's/alter table * alter column * set storage external;/\/* alter
table \1 alter column \2 set storage external; *\//ig' \
- -e 's/SET geqo TO *;/\/* SET geqo TO \1; *\//ig' \
- -e 's/RESET geqo;/\/* RESET geqo; *\//ig' \
- -e 's/\s+([^\s]+)::float[248]\b/ cast(\1 as double)/ig' \
- -e 's/\s+([^\s]+)::int2\b/ cast(\1 as smallint)/ig' \
- -e 's/\s+([^\s]+)::int4\b/ cast(\1 as integer)/ig' \
- -e 's/\s+([^\s]+)::int8\b/ cast(\1 as bigint)/ig' \
- -e 's/\s+([^\s]+)::float4\b/ cast(\1 as real)/ig' \
- -e 's/\s+([^\s]+)::float8\b/ cast(\1 as double)/ig' \
- -e 's/\s+([^\s]+)::text\b/ cast(\1 as string)/ig' \
- -e 's/\s+([^\s]+)::(\w+(\([0-9]+(,[0-9]+))\)?)\b/ cast(\1 as \2)/ig'
+ -e 's/\bAS true/AS "true"/Ig' \
+ -e 's/\bAS false/AS "false"/Ig' \
+ -e 's/\bIS TRUE/= TRUE/Ig' \
+ -e 's/\bIS FALSE/= FALSE/Ig' \
+ -e 's/\bIS NOT TRUE/= NOT TRUE/Ig' \
+ -e 's/\bIS NOT FALSE/= NOT FALSE/Ig' \
+ -e 's/\bbool '*'\b/cast('\1' as boolean)/Ig' \
+ -e 's/\char 'c'/cast('c' as char)/Ig' \
+ -e 's/\bint2 '0'/cast('0' as smallint)/Ig' \
+ -e 's/\bint2 '1'/cast('1' as smallint)/Ig' \
+ -e 's/\bint2 '2'/cast('2' as smallint)/Ig' \
+ -e 's/\bint2 '4'/cast('4' as smallint)/Ig' \
+ -e 's/\bint2 '16'/cast('16' as smallint)/Ig' \
+ -e 's/\bint4 '0'/cast('0' as integer)/Ig' \
+ -e 's/\bint4 '1'/cast('1' as integer)/Ig' \
+ -e 's/\bint4 '2'/cast('2' as integer)/Ig' \
+ -e 's/\bint4 '4'/cast('4' as integer)/Ig' \
+ -e 's/\bint4 '16'/cast('16' as integer)/Ig' \
+ -e 's/\bint4 '999'/cast('999' as integer)/Ig' \
+ -e 's/\bint4 '1000'/cast('1000' as integer)/Ig' \
+ -e 's/\bint8 '0'/cast('0' as bigint)/Ig' \
+ -e 's/\bint2\b/smallint/Ig' \
+ -e 's/\bint4\b/integer/Ig' \
+ -e 's/\bint8\b/bigint/Ig' \
+ -e 's/\bfloat4\b/real/Ig' \
+ -e 's/\bfloat8\b/double/Ig' \
+ -e 's/\bnumeric(210,10)\b/numeric(18,10)/Ig' \
+ -e 's/\bfloat8 (*)/cast(\1 as double)/Ig' \
+ -e 's/\bbytea\b/blob/Ig' \
+ -e 's/\bpath\b/string/Ig' \
+ -e 's/\bpoint\b/string/Ig' \
+ -e 's/\bbox\b/string/Ig' \
+ -e 's/\bpolygon\b/string/Ig' \
+ -e 's/\bcity_budget\b/decimal(7,2)/Ig' \
+ -e 's/\bdate 'yesterday'/sql_sub(current_date, 24*60*60.0)/Ig' \
+ -e 's/\bdate 'today'/current_date/Ig' \
+ -e 's/\bdate 'tomorrow'/sql_add((current_date, 24*60*60.0)/Ig' \
+ -e 's/\bname,/string,/Ig' \
+ -e 's/\bname$/string/Ig' \
+ -e 's/LOG(numeric '10',/LOG10(/Ig' \
+ -e 's/LOG(/LOG10(/Ig' \
+ -e 's/LN(/LOG(/Ig' \
+ -e 's/substr(/substring(/Ig' \
+ -e 's/strpos(*,*)/locate(\2,\1)/Ig' \
+ -e 's/TRIM(BOTH FROM *)/TRIM(\1)/Ig' \
+ -e 's/TRIM(LEADING FROM *)/LTRIM(\1)/Ig' \
+ -e 's/TRIM(TRAILING FROM *)/RTRIM(\1)/Ig' \
+ -e 's/TRIM(BOTH * FROM *)/TRIM(replace(\2,\1,' '))/Ig' \
+ -e 's/\bnumeric '10'/cast('10.0' as numeric(2,0))/Ig' \
+ -e 's/\btext 'text'/cast('text' as text)/Ig' \
+ -e 's/\bchar(20) 'characters'/cast('characters' as char(20))/Ig' \
+ -e 's/\b!= /<> /Ig' \
+ -e 's/(.*)\bFROM ONLY (.*)/\1 FROM \2/Ig' \
+ -e 's/BEGIN TRANSACTION;/START TRANSACTION;/Ig' \
+ -e 's/BEGIN;/START TRANSACTION;/Ig' \
+ -e 's/END;/COMMIT;/Ig' \
+ -e 's/COMMIT TRANSACTION;/COMMIT;/Ig' \
+ -e 's/^COMMENT.*;$//Ig' \
+ -e 's/\) (INHERITS.*);/\); -- \1/Ig' \
+ -e 's/VACUUM ANALYZE *;/\/* VACUUM ANALYZE \1; *\//Ig' \
+ -e 's/alter table * alter column * set storage external;/\/* alter
table \1 alter column \2 set storage external; *\//Ig' \
+ -e 's/SET geqo TO *;/\/* SET geqo TO \1; *\//Ig' \
+ -e 's/RESET geqo;/\/* RESET geqo; *\//Ig' \
+ -e 's/\s+([^\s]+)::float[248]\b/ cast(\1 as double)/Ig' \
+ -e 's/\s+([^\s]+)::int2\b/ cast(\1 as smallint)/Ig' \
+ -e 's/\s+([^\s]+)::int4\b/ cast(\1 as integer)/Ig' \
+ -e 's/\s+([^\s]+)::int8\b/ cast(\1 as bigint)/Ig' \
+ -e 's/\s+([^\s]+)::float4\b/ cast(\1 as real)/Ig' \
+ -e 's/\s+([^\s]+)::float8\b/ cast(\1 as double)/Ig' \
+ -e 's/\s+([^\s]+)::text\b/ cast(\1 as string)/Ig' \
+ -e 's/\s+([^\s]+)::(\w+(\([0-9]+(,[0-9]+))\)?)\b/ cast(\1 as \2)/Ig'
diff --git a/testing/quicktest b/testing/quicktest
--- a/testing/quicktest
+++ b/testing/quicktest
@@ -404,7 +404,7 @@ diff_result_test() {
> "${tstrpath}".stdout.diff
if [[ $? != 0 ]] ; then
# purely estethic
- sed -i \
+ sed -i~ \
-e "/^---
/s:${tstspath}\.stable\.out:${tstn}.stable.out:" \
-e "/^+++ /s:${tstrpath}\.stdout:${tstn}.test.out:" \
"${tstrpath}".stdout.diff
@@ -415,7 +415,7 @@ diff_result_test() {
> "${tstrpath}".stderr.diff
if [[ $? != 0 ]] ; then
# purely estethic
- sed -i \
+ sed -i~ \
-e "/^---
/s:${tstspath}\.stable\.err:${tstn}.stable.err:" \
-e "/^+++ /s:${tstrpath}\.stderr:${tstn}.test.err:" \
"${tstrpath}".stderr.diff
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list