diff --git a/uppsrc/Sql/SqlSet.cpp b/uppsrc/Sql/SqlSet.cpp index 91809a7d7..882d96b79 100644 --- a/uppsrc/Sql/SqlSet.cpp +++ b/uppsrc/Sql/SqlSet.cpp @@ -17,7 +17,7 @@ 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(SqlSet::SET) + SqlCase(MSSQL|PGSQL, " except ")(" minus ") + s2(SqlSet::SET), SqlSet::SETOP); + return SqlSet(s1(SqlSet::SET) + SqlCase(MSSQL|PGSQL|SQLITE3, " except ")(" minus ") + s2(SqlSet::SET), SqlSet::SETOP); } String SqlSet::operator~() const { diff --git a/uppsrc/Sql/SqlStatement.cpp b/uppsrc/Sql/SqlStatement.cpp index ebb5bcc70..042479a38 100644 --- a/uppsrc/Sql/SqlStatement.cpp +++ b/uppsrc/Sql/SqlStatement.cpp @@ -19,7 +19,7 @@ SqlSelect& SqlSelect::operator&=(const SqlSelect& s2) { } SqlSelect& SqlSelect::operator-=(const SqlSelect& s2) { - text << SqlCase(MSSQL|PGSQL," except ")(" minus ") << SqlCase(SQLITE3, "")("(") + text << SqlCase(MSSQL|PGSQL|SQLITE3," except ")(" minus ") << SqlCase(SQLITE3, "")("(") << s2.text << SqlCase(SQLITE3, "")(")"); return *this; } diff --git a/uppsrc/Sql/Sqlexp.h b/uppsrc/Sql/Sqlexp.h index 31fd79f4c..11c59674a 100644 --- a/uppsrc/Sql/Sqlexp.h +++ b/uppsrc/Sql/Sqlexp.h @@ -393,6 +393,7 @@ public: enum PRIORITY { SETOP = 50, SET = 100, + HIGH = 200, }; String operator~() const; @@ -498,7 +499,7 @@ public: SqlSelect& Limit(int64 offset, int limit); SqlSelect& Offset(int64 offset); - operator SqlSet() const { return SqlSet(text, SqlSet::SET); } + operator SqlSet() const { return SqlSet(text, SqlSet::SETOP); } operator SqlStatement() const { return SqlStatement(text); } SqlVal AsValue() const; SqlSelect AsTable(SqlId tab) const;