Skip to content
This repository was archived by the owner on Mar 29, 2023. It is now read-only.

Commit a302dca

Browse files
authored
BUG: Fix import for new versions of ibis (#59)
The compiler is now at https://github.com/ibis-project/ibis/blob/master/ibis/backends/base_sql/compiler.py
1 parent abe966b commit a302dca

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed

ibis_bigquery/compiler.py

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
try:
1010
import ibis.backends.base_sqlalchemy.compiler as comp
1111
except ImportError:
12-
import ibis.sql.compiler as comp
12+
try:
13+
import ibis.sql.compiler as comp
14+
except ImportError:
15+
import ibis.backends.base.sql.compiler as comp
1316
try:
1417
import ibis.common.exceptions as com
1518
except ImportError:
@@ -24,22 +27,30 @@
2427
import toolz
2528

2629
try:
27-
# 2.x
28-
from ibis.backends.base.sql import (fixed_arity, literal,
29-
operation_registry, reduction, unary)
30+
from ibis.backends.base.sql.alchemy.registry import _literal as literal
31+
from ibis.backends.base.sql.alchemy.registry import fixed_arity, reduction
32+
from ibis.backends.base.sql.alchemy.registry import \
33+
sqlalchemy_operation_registry as operation_registry
34+
from ibis.backends.base.sql.alchemy.registry import unary
3035
except ImportError:
3136
try:
32-
# 1.4
33-
from ibis.backends.base_sql import (fixed_arity, literal,
37+
# 2.x
38+
from ibis.backends.base.sql import (fixed_arity, literal,
3439
operation_registry, reduction,
3540
unary)
3641
except ImportError:
37-
# 1.2
38-
from ibis.impala.compiler import _literal as literal
39-
from ibis.impala.compiler import \
40-
_operation_registry as operation_registry
41-
from ibis.impala.compiler import _reduction as reduction
42-
from ibis.impala.compiler import fixed_arity, unary
42+
try:
43+
# 1.4
44+
from ibis.backends.base_sql import (fixed_arity, literal,
45+
operation_registry, reduction,
46+
unary)
47+
except ImportError:
48+
# 1.2
49+
from ibis.impala.compiler import _literal as literal
50+
from ibis.impala.compiler import \
51+
_operation_registry as operation_registry
52+
from ibis.impala.compiler import _reduction as reduction
53+
from ibis.impala.compiler import fixed_arity, unary
4354

4455
try:
4556
from ibis.backends.base_sql.compiler import (BaseExprTranslator,
@@ -517,7 +528,18 @@ def _trans_param(self, expr):
517528
return '@{}'.format(expr.get_name())
518529

519530

520-
compiles = BigQueryExprTranslator.compiles
531+
try:
532+
compiles = BigQueryExprTranslator.compiles
533+
except AttributeError:
534+
# https://github.com/ibis-project/ibis/commit/3d5a10
535+
def _add_operation(operation):
536+
def decorator(translation_func):
537+
BigQueryExprTranslator.add_operation(
538+
operation, translation_func
539+
)
540+
return decorator
541+
compiles = _add_operation
542+
521543
rewrites = BigQueryExprTranslator.rewrites
522544

523545

0 commit comments

Comments
 (0)