Skip to content

Commit

Permalink
Merge pull request #516 from noambloom/bugfix_oracle_query_quote_char
Browse files Browse the repository at this point in the history
Fix OracleQuery quote_char
  • Loading branch information
gl3nn authored Nov 5, 2020
2 parents 82d0877 + a59ab3e commit 2d81f10
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
2 changes: 2 additions & 0 deletions pypika/dialects.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,8 @@ def create_table(cls, table: Union[str, Table]) -> VerticaCreateQueryBuilder:


class OracleQueryBuilder(QueryBuilder):
QUOTE_CHAR = None

def __init__(self, **kwargs: Any) -> None:
super().__init__(dialect=Dialects.ORACLE, **kwargs)

Expand Down
25 changes: 15 additions & 10 deletions pypika/tests/test_selects.py
Original file line number Diff line number Diff line change
Expand Up @@ -272,10 +272,10 @@ def test_mssql_query_uses_double_quote_chars(self):

self.assertEqual('SELECT "foo","bar" FROM "abc"', str(q))

def test_oracle_query_uses_double_quote_chars(self):
def test_oracle_query_uses_no_quote_chars(self):
q = OracleQuery.from_("abc").select("foo", "bar")

self.assertEqual('SELECT "foo","bar" FROM "abc"', str(q))
self.assertEqual('SELECT foo,bar FROM abc', str(q))

def test_postgresql_query_uses_double_quote_chars(self):
q = PostgreSQLQuery.from_("abc").select("foo", "bar")
Expand Down Expand Up @@ -530,12 +530,17 @@ def test_groupby__no_alias(self):
q.get_sql(groupby_alias=False),
)

def test_groupby__no_alias_platforms(self):
def test_groupby__no_alias_mssql(self):
bar = self.t.bar.as_("bar01")
for query_cls in [MSSQLQuery, OracleQuery]:
q = query_cls.from_(self.t).select(fn.Sum(self.t.foo), bar).groupby(bar)
q = MSSQLQuery.from_(self.t).select(fn.Sum(self.t.foo), bar).groupby(bar)

self.assertEqual('SELECT SUM("foo"),"bar" "bar01" FROM "abc" GROUP BY "bar"', str(q))
self.assertEqual('SELECT SUM("foo"),"bar" "bar01" FROM "abc" GROUP BY "bar"', str(q))

def test_groupby__no_alias_oracle(self):
bar = self.t.bar.as_("bar01")
q = OracleQuery.from_(self.t).select(fn.Sum(self.t.foo), bar).groupby(bar)

self.assertEqual('SELECT SUM(foo),bar bar01 FROM abc GROUP BY bar', str(q))

def test_groupby__alias_platforms(self):
bar = self.t.bar.as_("bar01")
Expand Down Expand Up @@ -609,10 +614,10 @@ def test_mssql_query_uses_double_quote_chars(self):

self.assertEqual('SELECT "foo" FROM "abc" GROUP BY "foo"', str(q))

def test_oracle_query_uses_double_quote_chars(self):
def test_oracle_query_uses_no_quote_chars(self):
q = OracleQuery.from_(self.t).groupby(self.t.foo).select(self.t.foo)

self.assertEqual('SELECT "foo" FROM "abc" GROUP BY "foo"', str(q))
self.assertEqual('SELECT foo FROM abc GROUP BY foo', str(q))

def test_postgres_query_uses_double_quote_chars(self):
q = PostgreSQLQuery.from_(self.t).groupby(self.t.foo).select(self.t.foo)
Expand Down Expand Up @@ -710,14 +715,14 @@ def test_mssql_query_uses_double_quote_chars(self):
)
self.assertEqual('SELECT "foo" FROM "abc" GROUP BY "foo" HAVING "buz"=\'fiz\'', str(q))

def test_oracle_query_uses_double_quote_chars(self):
def test_oracle_query_uses_no_quote_chars(self):
q = (
OracleQuery.from_(self.table_abc)
.select(self.table_abc.foo)
.groupby(self.table_abc.foo)
.having(self.table_abc.buz == "fiz")
)
self.assertEqual('SELECT "foo" FROM "abc" GROUP BY "foo" HAVING "buz"=\'fiz\'', str(q))
self.assertEqual('SELECT foo FROM abc GROUP BY foo HAVING buz=\'fiz\'', str(q))

def test_postgres_query_uses_double_quote_chars(self):
q = (
Expand Down

0 comments on commit 2d81f10

Please sign in to comment.