PGSQL except/minus patch

git-svn-id: svn://ultimatepp.org/upp/trunk@1548 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2009-09-04 12:19:39 +00:00
parent 1d45412bef
commit 699e83eb52
2 changed files with 8 additions and 2 deletions

View file

@ -17,7 +17,13 @@ SqlSet operator&(const SqlSet& s1, const SqlSet& s2) {
SqlSet operator-(const SqlSet& s1, const SqlSet& s2) {
if(s1.IsEmpty() || s2.IsEmpty())
return s1;
return SqlSet(s1() + SqlCase(MSSQL, " except ")(" minus ") + s2(), SqlSet::SETOP);
return SqlSet(s1() + SqlCase(MSSQL|PGSQL, " except ")(" minus ") + s2(), SqlSet::SETOP);
}
SqlSet operator-(const SqlSet& s1, const SqlSet& s2) {
if(s1.IsEmpty() || s2.IsEmpty())
return s1;
return SqlSet(s1() + SqlCase(MSSQL|PGSQL, " except ")(" minus ") + s2(), SqlSet::SETOP);
}
String SqlSet::operator~() const {

View file

@ -19,7 +19,7 @@ SqlSelect& SqlSelect::operator&=(const SqlSelect& s2) {
}
SqlSelect& SqlSelect::operator-=(const SqlSelect& s2) {
text << " minus (" << s2.text << ')';
text << SqlCase(MSSQL|PGSQL," except (")(" minus (") << s2.text << ')';
return *this;
}