Closes #1599 This is a temporary fix that preserves most existing behavior until we can refactor the compiler to separate compilation from optimization. Author: Phillip Cloud <cpcloud@gmail.com> Closes #1600 from cpcloud/fix-equality and squashes the following commits: 92f9cbf [Phillip Cloud] Revert and use compat zip 05bab25 [Phillip Cloud] Rename compare_argument_sequences to empty_or_equal 346114b [Phillip Cloud] Clean up code e83a5ea [Phillip Cloud] Xfail on newly broken test 9334c23 [Phillip Cloud] Fix notebook 75e8b65 [Phillip Cloud] Flake8 2b0ceba [Phillip Cloud] BUG: Fix equality
ENH/DEV: Make ibis Node instances hashable
Closes #890 Author: Phillip Cloud <cpcloud@gmail.com> Closes #1611 from cpcloud/hashable-ops and squashes the following commits: 466a36b [Phillip Cloud] revert db83c80 [Phillip Cloud] is first a617ad7 [Phillip Cloud] Cleanup 90d66d9 [Phillip Cloud] Make expr_key a _key property on Expr d0db870 [Phillip Cloud] Make _safe_name a property instead of util method 951cfc5 [Phillip Cloud] Fix docstring 3515133 [Phillip Cloud] Use is in Select DML equality as well d669f49 [Phillip Cloud] Try to fix perf d0ae9be [Phillip Cloud] docstrings 922ad14 [Phillip Cloud] Clean up analysis substitution class a1b02e9 [Phillip Cloud] Cleanup 7256641 [Phillip Cloud] Use util.expr_key where possible 7d293a0 [Phillip Cloud] Move functions around 03ced57 [Phillip Cloud] Use expr_key d058330 [Phillip Cloud] Remove format.py license 564f4d5 [Phillip Cloud] Remove queue import in lineage dae987d [Phillip Cloud] Pin nbconvert c96ccaf [Phillip Cloud] Add hashing benchmarks e60e0dd [Phillip Cloud] Quote benchmarks 5327f62 [Phillip Cloud] Remove py27 benchmarks e0c76a5 [Phillip Cloud] Show docs 55c55b5 [Phillip Cloud] Show the conda env used to build docs ac46f4e [Phillip Cloud] Try to build the docs in sequence rather than parallel d52f129 [Phillip Cloud] Add hashing benchmarks b56f1b0 [Phillip Cloud] Fix docs 0c3959f [Phillip Cloud] Redefine __nonzero__ in ListExpr for python2 1a0cf0c [Phillip Cloud] Use weakref.WeakSet to hold ImpalaTemporaryTable instances 2376ea1 [Phillip Cloud] Bug c46ea0a [Phillip Cloud] Clean up equality checking code 1c3db1b [Phillip Cloud] Clean up equality of Select DML c4aac06 [Phillip Cloud] Clean up pandas code and remove use of id be9b1e7 [Phillip Cloud] Do not use key=id anymore a31b1e3 [Phillip Cloud] remove irrelevant comment d184eab [Phillip Cloud] ENH/DEV: Make ibis Node instances hashable
Closes #1604 Author: Scott Lustig <scott.lustig@twosigma.com> Closes #1607 from missing-semicolon/implement-approx-median and squashes the following commits: d16694a [Scott Lustig] Fix client test for approx_median 1acaf68 [Scott Lustig] Cleanly unpack arg and where from expr 784f262 [Scott Lustig] Remove blank line 4fe65bd [Scott Lustig] Add client test for approx_median. Currently expected to fail. 7624851 [Scott Lustig] Implement approx_median for BQ backend 4db9272 [Scott Lustig] Implement compiler test for approx_median
DOC/ENH: Publish the Ibis roadmap
Closes #1593 Author: Phillip Cloud <cpcloud@gmail.com> Closes #1618 from cpcloud/roadmap and squashes the following commits: 9bca998 [Phillip Cloud] Fix non-existent link bf173870 [Phillip Cloud] Add sphinx section links dc41608 [Phillip Cloud] Fix section name 21cf4a4 [Phillip Cloud] DOC/ENH: Publish the Ibis roadmap
Set up CI with Azure Pipelines
Author: Phillip Cloud <cpcloud@gmail.com> Author: azure-pipelines[bot] <azure-pipelines[bot]@users.noreply.github.com> Closes #1640 from azure-pipelines[bot]/azure-pipelines and squashes the following commits: 88b6636 [Phillip Cloud] Make sure postgres tests are running 4560ea0 [Phillip Cloud] Needs exe 73c5c12 [Phillip Cloud] Try forward slash paths e9a76eb [Phillip Cloud] Fix job name 352277b [Phillip Cloud] Readable names fe044d6 [Phillip Cloud] Use local 7d421be [Phillip Cloud] Correct the path 21b237d [Phillip Cloud] Use psql-path argument 023ab8e [Phillip Cloud] Allow psql path to be passed to postgres 8088ec0 [Phillip Cloud] Better job names e9713e9 [Phillip Cloud] Enable postgresql 2c4d804 [Phillip Cloud] More concise 5c8f384 [Phillip Cloud] Steps 8dca43be [Phillip Cloud] Do not merge test results b0b748e [Phillip Cloud] Publish test results no matter what e3a4121 [Phillip Cloud] Remove jobs key d67f119 [Phillip Cloud] Simpler setup 5d81e10 [Phillip Cloud] Parallize buildz 7ee24f2 [Phillip Cloud] Remove path display ce8c25b [Phillip Cloud] Bring back mariadb e688232 [Phillip Cloud] Use existing mysql installation 0749e7a [Phillip Cloud] Disable postgres for now b598248 [Phillip Cloud] Show path aa7ca41 [Phillip Cloud] double quote 35a2408 [Phillip Cloud] quoting 6b5aee4 [Phillip Cloud] other things 48aa138 [Phillip Cloud] things bbba798 [Phillip Cloud] Try pathing eede5eb [Phillip Cloud] Syntax 00bfc36 [Phillip Cloud] Mysql and parallelize builds later da635e5 [Phillip Cloud] Parallelize builds dca0a19 [Phillip Cloud] Add python version argument to ci/feedstock.py b1362ad [Phillip Cloud] Install in each job 7f2c36c [Phillip Cloud] try 33d09ba [Phillip Cloud] Max parallel 202617c [Phillip Cloud] Try only installing databases once 26d6061 [Phillip Cloud] Really no reason to build sdist and wheel 36751cf [Phillip Cloud] Install pymysql 438f7c6 [Phillip Cloud] Try loading mysql and postgresql data 5481759 [Phillip Cloud] Disable postgres for now 080371b [Phillip Cloud] Hmmm... d8330aa [Phillip Cloud] Reverse order 2c4f4b3 [Phillip Cloud] Try with specific version of maria and with postgresql10 7aa829c [Phillip Cloud] Try mariadb first 0242961 [Phillip Cloud] no confirmation d6066cd [Phillip Cloud] Install postgres through choco 3cca2e9 [Phillip Cloud] Remove docker business 81fc2d8 [Phillip Cloud] Try nano fc7155e [Phillip Cloud] Use specific tag 3f9e895 [Phillip Cloud] wtf e5b7046 [Phillip Cloud] Simplify 312124d [Phillip Cloud] Try other thing 9e7405c [Phillip Cloud] Case sensitive f63196a [Phillip Cloud] Try things 03b458b [Phillip Cloud] Try starting a postgres windows docker container 70fc6f6 [Phillip Cloud] Remove example ee52595 [Phillip Cloud] Try a different approach 8c2e8be [Phillip Cloud] Fix doc f68731d [Phillip Cloud] Enable the rest of the pipeline a11964d [Phillip Cloud] Remove unused import 0c412f5 [Phillip Cloud] Repo b247475 [Phillip Cloud] Install ibis and use only py3 for now 48b906a [Phillip Cloud] Naming 297d2a6 [Phillip Cloud] Just get things working 481f2d5 [Phillip Cloud] Pass the parent to get_template bddae6a [Phillip Cloud] Use just one architecture and always build noarch 1114e10 [Phillip Cloud] Separate steps 5a7e0c6 [Phillip Cloud] Install conda build 98cadf8 [Phillip Cloud] Do not install pyarrow on python2 cccda3c [Phillip Cloud] Jinja2 c18911a [Phillip Cloud] Install ruamel.yaml 4f186a4 [Phillip Cloud] pyarrow version 3613f98 [Phillip Cloud] Run conda build 8e28629 [Phillip Cloud] add pyarrow df902a4 [Phillip Cloud] Publish tests and build sdist and wheel cd03ad4 [Phillip Cloud] Fix postgres naming fad4d90 [Phillip Cloud] Only import where used 8223e4f [Phillip Cloud] Remove appveyor.yml 81e5218 [azure-pipelines[bot]] Set up CI with Azure Pipelines
BUG: Fix Azure deployment step
Author: Phillip Cloud <cpcloud@gmail.com> Closes #1642 from cpcloud/fix-azure-deploy and squashes the following commits: 3b7e6db [Phillip Cloud] Value is a string 077f1a5 [Phillip Cloud] Clean f2f03b8 [Phillip Cloud] If we are running from a fork then do not publish artifacts 5b2d5cb [Phillip Cloud] Show some info
Updated MapD Server/CI Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Closes #1641 from xmnlab/change_mapd_ci_to_v4_1_3 and squashes the following commits: 947b7d2 [Ivan Ogasawara] Merge branch 'upstream_master' into change_mapd_ci_to_v4_1_3 9aceb65 [Ivan Ogasawara] Merge branch 'upstream_master' into change_mapd_ci_to_v4_1_3 d6a2fa1 [Ivan Ogasawara] Update pymapd dependency to v0.4.0 72c6344 [Ivan Ogasawara] Updated MapD server-CI
ENH: Fix UDF bugs in the pandas backend
Also adds support for non-aggregate analytic functions Closes #1633 Author: Phillip Cloud <cpcloud@gmail.com> Closes #1637 from cpcloud/fix-pandas-udfs and squashes the following commits: 0633fe4 [Phillip Cloud] Fix ref 5750dd9 [Phillip Cloud] Make sure simple scalar operations work af72f06 [Phillip Cloud] Use fixtures bcc4985 [Phillip Cloud] But we cannot run them yet 4767ed2 [Phillip Cloud] Do not fail on defining zero argument functions c4c23d1 [Phillip Cloud] More doc edits b3c75be [Phillip Cloud] Validate earlier so we do not define functions before checking that their signatures match input_type 33c3d54 [Phillip Cloud] Export udf in the pandas API
Make sure we cast when NULL is else in CASE expressions
cc @xmnlab Closes #1620 Author: Phillip Cloud <cpcloud@gmail.com> Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Closes #1651 from cpcloud/null-literal and squashes the following commits: 92c3729 [Phillip Cloud] Fix impala tests 562b6d9 [Krisztián Szűcs] pin clickhouse-driver to 0.0.15 a7ace3f [Phillip Cloud] Fix sqlalchemy tests 0bade38 [Phillip Cloud] Fix generic compiler tests fe626c0 [Phillip Cloud] Clarify parameter name to pandas tests 764fda8 [Phillip Cloud] Cast null value to anything is a noop 9d6f934 [Phillip Cloud] Fix impala tests e4e3561 [Phillip Cloud] Use precedence in case there are multiple types 5d9fde0 [Phillip Cloud] Make sure we cast when NULL is else in CASE expressions
Remove parameters from mapd Fixes #1610
Closes #1610 Author: Tony Fast <tony.fast@gmail.com> Closes #1648 from tonyfast/master and squashes the following commits: d561787 [Tony Fast] Merge branch 'master' of https://github.com/ibis-project/ibis a7eb782 [Tony Fast] Trigger build f9b859f [Tony Fast] Remove fragment_size, page_size, partitions, and shard_count from the create_table client. 8a27534 [Tony Fast] Add tests to cover the create_table function. e47d988 [Tony Fast] Add fixtures test_data_db, temp_table, temp_database a95941d [Tony Fast] Remove parameters from mapd Fixes #1610
CI/BLD: Remove defaults as a channel from azure pipelines
Author: Phillip Cloud <cpcloud@gmail.com> Closes #1660 from cpcloud/remove-conda-forge-azure and squashes the following commits: 3ecd771 [Phillip Cloud] Do not override in testing windows for now 15006ca [Phillip Cloud] Install conda env first since we cannot do anything without that 08b589e [Phillip Cloud] conda-build must come from conda-forge 48b7a6e [Phillip Cloud] Only install from conda-forge d311cc7 [Phillip Cloud] CI/BLD: Remove conda-forge as a channel from azure pipelines
[MapD] Fixed where operator - Fixes #1623
This PR fixes #1623 Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Ivan <ivan.ogasawara@gmail.com> Closes #1653 from xmnlab/mapd_where_op and squashes the following commits: 25bf13a [Ivan Ogasawara] Added tests 93104de [Ivan Ogasawara] Merge branch 'mapd_where_op' of https://github.com/quansight/ibis into mapd_where_op 88fd84f [Ivan Ogasawara] Merge branch 'upstream_master' into mapd_where_op 7878998 [Ivan] Merge branch 'master' into mapd_where_op 48447cc [Ivan Ogasawara] Merge branch 'upstream_master' into mapd_where_op f64df84 [Ivan Ogasawara] Aded Union op into unsupported list 5df43e2 [Ivan Ogasawara] Fixed where operator
BUG/TST: Fix flake8 and many other warnings
Author: Phillip Cloud <cpcloud@gmail.com> Closes #1667 from cpcloud/flake8-warning-cleanup and squashes the following commits: 37812bf [Phillip Cloud] Add .mypy_cache/ to .gitignore 0697051 [Phillip Cloud] Fix warnings from pytest 4 deprecations 7400eeb [Phillip Cloud] Clean up init 672a9db [Phillip Cloud] Clean up warnings from pytest 24aa591 [Phillip Cloud] Remove deprecated multipledispatch performance optimization 959f0d3 [Phillip Cloud] set a lower bound on multipledispatch of 0.6.0 12ea5e9 [Phillip Cloud] Remove sqlite3 inspect module warning 7cb5388 [Phillip Cloud] BUG/TST: Fix flake8 warnings
[MapD] Added crossjoin operator
This PR fixes #1621 Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Ivan <ivan.ogasawara@gmail.com> Closes #1655 from xmnlab/add_crossjoin and squashes the following commits: f1ee88e [Ivan Ogasawara] Merged from master 2a294e2 [Ivan Ogasawara] Added test e653f2d [Ivan Ogasawara] Merge branch 'upstream_master' into add_crossjoin 25a42ac [Ivan] Merge branch 'master' into add_crossjoin 126e876 [Ivan Ogasawara] Merge branch 'upstream_master' into add_crossjoin 44e7bec [Ivan Ogasawara] Fixes after 1st review 3226af0 [Ivan Ogasawara] Fixed small issues 0e19a15 [Ivan Ogasawara] Fixed #1621
BUG/ENH: Remove implicit ordering requirements in the PostgreSQL backend
BUG: Fix map get with compatible types
Author: Phillip Cloud <cpcloud@gmail.com> Closes #1643 from cpcloud/map-get-bug and squashes the following commits: cbbbf3f [Phillip Cloud] Implement same_kind f1cc890 [Phillip Cloud] Use same_kind to determine whether we can use a particular map default value ec42a77 [Phillip Cloud] Add more tests 51feb03 [Phillip Cloud] Use castable 7a8eb33 [Phillip Cloud] Add tests 26f25ea [Phillip Cloud] Fix 085ed4c [Phillip Cloud] Tests
[MapD] Resolves Joining with different column names
Fixes #1619 Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Ivan <ivan.ogasawara@gmail.com> Closes #1647 from xmnlab/add_literal_null and squashes the following commits: 86fda52 [Ivan Ogasawara] Merge from master b8e441f [Ivan Ogasawara] Merged from master 180ea2f [Ivan Ogasawara] Fixed tests e7c70c3 [Ivan Ogasawara] Added tests fc9e029 [Ivan Ogasawara] Merge branch 'add_literal_null' of https://github.com/quansight/ibis into add_literal_null 155ed0a [Ivan Ogasawara] Merge branch 'upstream_master' into add_literal_null eaa523e [Ivan] Merge branch 'master' into add_literal_null 7374d82 [Ivan Ogasawara] Merge branch 'upstream_master' into add_literal_null 4d36a15 [Ivan Ogasawara] NullLiteral moved again as unsupported 31c186e [Ivan Ogasawara] Merge remote-tracking branch 'ibis-project/master' into add_literal_null 4c4d995 [Ivan Ogasawara] Fixed #1619: Joining on different column names e136257 [Ivan Ogasawara] Solves #1620: Added NullLiteral
ENH: Remove support for Python 2
Author: Phillip Cloud <cpcloud@gmail.com> Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Closes #1670 from cpcloud/remove-py2 and squashes the following commits: b6b82c8 [Krisztián Szűcs] disable mysql tests 39c1b78 [Krisztián Szűcs] disable mariadb on azure pipelines 8f8d385 [Phillip Cloud] Revert integer implementation e0b6f92 [Phillip Cloud] Fix doctest f968c61 [Phillip Cloud] Make sure to test doctests 911c889 [Phillip Cloud] Fix annotations a66a7c5 [Phillip Cloud] Add dispatch for signed to unsigned and unsigned to sign 06763a8 [Phillip Cloud] More annotations 59a0bc7 [Phillip Cloud] Fix mypy error c70968c [Phillip Cloud] Fix linting 8c1afda [Phillip Cloud] Simpler pre_execute test 93b9b35 [Phillip Cloud] Fix doctest errors 0cb0a2b [Phillip Cloud] multipledispatch is now required fb5cd52 [Phillip Cloud] Prevent ambiguity warning 5edd2f0 [Krisztián Szűcs] Add signature to cast function afe1041 [Krisztián Szűcs] Add signature to can_cast_null implementation 1eb0ca7 [Krisztián Szűcs] Add signature to can_cast_any implementation 1d73fd6 [Phillip Cloud] Simplify isinstance checks with a TemporalValue abstract base class 1dd1a82 [Phillip Cloud] Remove mention of blog ddc1ed8 [Phillip Cloud] Don't import functools from pkg_resources ddbc0c5 [Phillip Cloud] Float64 now instead of double 96a5e38 [Phillip Cloud] Fix repr test 0c02007 [Phillip Cloud] Restructure primitive classes in datatypes 5bef1ae [Phillip Cloud] Primitive only provides a repr 8ff40d1 [Phillip Cloud] Remove column_type and scalar_type top-level functions 37fc8e3 [Phillip Cloud] Revert "Replace GenericAny with Union[DataType, str]" 15c0afe [Phillip Cloud] Use Mapping since OrderedDict is not a generic type fe3fd85 [Krisztián Szűcs] Replace GenericAny with Union[DataType, str] 181e9a3 [Krisztián Szűcs] Rename Double to Float64 f2e2572 [Krisztián Szűcs] Rename Float to Float32 e9d64dd [Krisztián Szűcs] Rename Halffloat to Float16 8d4736d [Phillip Cloud] Docstrings and cleaning fecc888 [Phillip Cloud] Fix docstring f1f2853 [Phillip Cloud] Make sure we have the right types and lengths in Struct constructor and from_tuples factory method 06caa89 [Phillip Cloud] Remove GenericDataType 7c37bb4 [Phillip Cloud] Make sure we are passing only nullable 7a525ab3 [Phillip Cloud] Make sure we are not calling __call__ with anything except a bool 3a539fa [Phillip Cloud] Make sure mark is set d2195d6 [Phillip Cloud] Makefile fixes 8cc0857 [Phillip Cloud] Remove timezone arg from Timestamp.__call__ fb72434 [Phillip Cloud] Make call more abstract e51b4ad [Phillip Cloud] Print fast test params 7fb1f93 [Phillip Cloud] Pass the timezone or use the existing one 48d5ff4 [Phillip Cloud] Make __call__ signatures for DataType subclasses compatible d5b8047 [Phillip Cloud] Rename array_type to column_type c32cf63 [Phillip Cloud] Make sure we are comparing correctly b46b519 [Phillip Cloud] Assertions and imports 645313e [Phillip Cloud] Make the timestamp repr work 29cde5a [Phillip Cloud] Remove unused imports 3837b13 [Phillip Cloud] type annotations 372ec74 [Phillip Cloud] Remove whitespace 38eac42 [Phillip Cloud] Remove py2 hack d2725ef [Phillip Cloud] Add type annotations to datatypes.py 866b0db [Phillip Cloud] Add super in datatypes.py 0df6c7a [Phillip Cloud] Add typechecking 711f53c [Phillip Cloud] Remove superfluous arguments to super calls 35d219a [Phillip Cloud] Remove Python 2 build and test b95d8af [Phillip Cloud] Clean up setup.py 26e43fa [Phillip Cloud] Fix makefile clean rule 9f51527 [Phillip Cloud] Make sure we import 77a857a [Phillip Cloud] Proper imports e265f50 [Phillip Cloud] Add testmost target that is everything except hdfs e527ee2 [Phillip Cloud] Clean up config 443894a [Phillip Cloud] Remove commented code ab45fa5 [Phillip Cloud] Fix imports 5a7509f [Phillip Cloud] Remove another invalid test f092d84 [Phillip Cloud] Remove invalid test 595f80e [Phillip Cloud] Revert "Fix test" e3d1eaf [Phillip Cloud] Fix bug b31cf6a [Phillip Cloud] Fix test 61eaea9 [Phillip Cloud] More fixes 932e827 [Phillip Cloud] Fix type addition 583f2d2 [Phillip Cloud] Remove most usage of compat 3fd2c04 [Phillip Cloud] Remove six calls 4b1e3a2 [Phillip Cloud] Checkpoint
Support column names with special characters in mapd
The mapd backend raises an error currently when you include some
special characters in new table names Ex: ```python conn =
ibis.mapd.connect( host='metis.mapd.com', user='mapd',
password='HyperInteractive', port=443, database='mapd', protocol=
'https' ) t = conn.table("flights_donotmodify")
t.aggregate(t.count().name("count_*")).execute() ``` Gives error
``` -----------------------------------------------------------------
---------- TMapDException Traceback (most
recent call last) /usr/local/miniconda3/envs/jupyterlab-
omnisci/lib/python3.6/site-packages/pymapd/cursor.py in execute(self,
operation, parameters) 119
column_format=self.columnar, --> 120 nonce=None,
first_n=-1, at_most_n=-1) 121 except T.TMapDException as
e: /usr/local/miniconda3/envs/jupyterlab-
omnisci/lib/python3.6/site-packages/mapd/MapD.py in sql_execute(self,
session, query, column_format, nonce, first_n, at_most_n) 1457
self.send_sql_execute(session, query, column_format, nonce, first_n,
at_most_n) -> 1458 return self.recv_sql_execute() 1459
/usr/local/miniconda3/envs/jupyterlab-omnisci/lib/python3.6/site-
packages/mapd/MapD.py in recv_sql_execute(self) 1486 if
result.e is not None: -> 1487 raise result.e 1488
raise TApplicationException(TApplicationException.MISSING_RESULT,
"sql_execute failed: unknown result") TMapDException:
TMapDException(error_msg='Exception: Parse failed: Encountered "*" at
line 1, column 26.\nWas expecting one of:\n <EOF> \n "ORDER"
...\n "LIMIT" ...\n "OFFSET" ...\n "FETCH" ...\n "FROM"
...\n "," ...\n "UNION" ...\n "INTERSECT" ...\n "EXCEPT"
...\n "MINUS" ...\n ') The above exception was the direct
cause of the following exception: ProgrammingError
Traceback (most recent call last)
/usr/local/miniconda3/envs/jupyterlab-omnisci/lib/python3.6/site-
packages/ibis/mapd/client.py in _execute(self, query, results)
407 try: --> 408 result =
MapDCursor(execute(query)) 409 except Exception as e:
/usr/local/miniconda3/envs/jupyterlab-omnisci/lib/python3.6/site-
packages/pymapd/cursor.py in execute(self, operation, parameters)
121 except T.TMapDException as e: --> 122
six.raise_from(_translate_exception(e), e) 123
self._description = _extract_description(result.row_set.row_desc)
/usr/local/miniconda3/envs/jupyterlab-omnisci/lib/python3.6/site-
packages/six.py in raise_from(value, from_value) ProgrammingError:
Exception: Parse failed: Encountered "*" at line 1, column 26. Was
expecting one of: <EOF> "ORDER" ... "LIMIT" ...
"OFFSET" ... "FETCH" ... "FROM" ... "," ...
"UNION" ... "INTERSECT" ... "EXCEPT" ... "MINUS" ...
During handling of the above exception, another exception occurred:
Exception Traceback (most recent call
last) <ipython-input-12-ca2aa7d96001> in <module> ----> 1
t.aggregate(t.count().name("count_*")).execute()
/usr/local/miniconda3/envs/jupyterlab-omnisci/lib/python3.6/site-
packages/ibis/expr/types.py in execute(self, limit, params, **kwargs)
195 """ 196 from ibis.client import execute -->
197 return execute(self, limit=limit, params=params, **kwargs)
198 199 def compile(self, limit=None, params=None):
/usr/local/miniconda3/envs/jupyterlab-omnisci/lib/python3.6/site-
packages/ibis/client.py in execute(expr, limit, params, **kwargs)
282 def execute(expr, limit='default', params=None, **kwargs):
283 backend, = validate_backends(list(find_backends(expr))) -->
284 return backend.execute(expr, limit=limit, params=params,
**kwargs) 285 286
/usr/local/miniconda3/envs/jupyterlab-omnisci/lib/python3.6/site-
packages/ibis/client.py in execute(self, expr, params, limit,
**kwargs) 182 """ 183 query_ast =
self._build_ast_ensure_limit(expr, limit, params=params) --> 184
result = self._execute_query(query_ast, **kwargs) 185
return result 186 /usr/local/miniconda3/envs/jupyterlab-
omnisci/lib/python3.6/site-packages/ibis/client.py in
_execute_query(self, dml, **kwargs) 187 def
_execute_query(self, dml, **kwargs): 188 query =
self.query_class(self, dml, **kwargs) --> 189 return
query.execute() 190 191 def compile(self, expr,
params=None, limit=None): /usr/local/miniconda3/envs/jupyterlab-
omnisci/lib/python3.6/site-packages/ibis/client.py in execute(self)
39 def execute(self): 40 # synchronous by default
---> 41 with self.client._execute(self.compiled_sql,
results=True) as cur: 42 result = self._fetch(cur)
43 /usr/local/miniconda3/envs/jupyterlab-
omnisci/lib/python3.6/site-packages/ibis/mapd/client.py in
_execute(self, query, results) 408 result =
MapDCursor(execute(query)) 409 except Exception as e:
--> 410 raise Exception('{}: {}'.format(e, query))
411 412 if results: Exception: Exception: Parse
failed: Encountered "*" at line 1, column 26. Was expecting one of:
<EOF> "ORDER" ... "LIMIT" ... "OFFSET" ...
"FETCH" ... "FROM" ... "," ... "UNION" ...
"INTERSECT" ... "EXCEPT" ... "MINUS" ... : SELECT
count(*) AS count_* FROM flights_donotmodify LIMIT 10000 ``` If
instead we quote the name, then the query succeeds (like this):
```sql SELECT count(*) AS "count_*" FROM flights_donotmodify LIMIT
10000 ``` This PR will fix this by quoting names with * in them.
- [x] Add failing test case - [x] fix test case
Author: Saul Shanabrook <s.shanabrook@gmail.com>
Closes #1675 from saulshanabrook/mapd-quote-name and squashes the following commits:
cb68c0a [Saul Shanabrook] Remove extra tuple in tests
ca4d16b [Saul Shanabrook] Flake8 fixes
67d3dd1 [Saul Shanabrook] Quote names if have special chars in mapd
0684063 [Saul Shanabrook] Add space name test
19c971f [Saul Shanabrook] Add failing test case for name quoting[Docs] Update docs to reflect Apache Impala and Kudu as ASF TLPs
Update Impala and Kudu names/URLs
Enabled mysql CI on azure pipelines
Fixes #1672 Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Ivan <ivan.ogasawara@gmail.com> Closes #1684 from xmnlab/enable_mysql and squashes the following commits: d264631 [Ivan] Merge branch 'master' into enable_mysql 3ff326b [Ivan Ogasawara] Commit to rerun CI ec207d7 [Ivan Ogasawara] Pinned 10.3.11 version for MariaDB d288b48 [Ivan Ogasawara] Enabled mysql CI on azure pipelines
Getting started mapd mysql pandas
Fixes #1663 Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Ivan <ivan.ogasawara@gmail.com> Closes #1686 from xmnlab/getting-started-mapd-mysql-pandas and squashes the following commits: 2731170 [Ivan] Merge branch 'master' into getting-started-mapd-mysql-pandas da25bd5 [Ivan Ogasawara] Fixed pandas url 382a250 [Ivan Ogasawara] Added pandas, mapd and mysql text
Updated mapd ci to v4.4.0 Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Ivan <ivan.ogasawara@gmail.com> Closes #1681 from xmnlab/update_mapd_ci_440 and squashes the following commits: 3b8d2ef [Ivan Ogasawara] small fixes from PR feedback 9b0778a [Ivan] Merge branch 'master' into update_mapd_ci_440 e07599e [Ivan Ogasawara] Added cpu-buffer-mem-bytes = 1000000000 mapd conf b1ebb46 [Ivan Ogasawara] Moved pymapd dep from req3.6 to pip section 7b56afb [Ivan Ogasawara] Added mapd log when any step fails e634aaf [Ivan Ogasawara] on py35 ci, use pymapd 0.6 from pip 2334c3c [Ivan Ogasawara] Changed pymapd version 0a947ea [Ivan Ogasawara] changed version for pyarrow and pymapd 9d4e424 [Ivan Ogasawara] Pinned pymapd and pyarrow on req py36 yml 42c1a3f [Ivan Ogasawara] Changed con fixture for mapd 3d359bf [Ivan Ogasawara] Rerun CI 71e1443 [Ivan Ogasawara] Updated to 4.4.1 7267ccf [Ivan Ogasawara] Updated mapd ci to v4.4.0
Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Ivan <ivan.ogasawara@gmail.com> Closes #1685 from xmnlab/pre-commit and squashes the following commits: a5fe17c [Ivan Ogasawara] Added a note about pre-commit 8aef228 [Ivan] Merge branch 'master' into pre-commit da93e5d [Ivan Ogasawara] Fixed requirements 9667ca1 [Ivan Ogasawara] Using flake8 install hook 327fb96 [Ivan Ogasawara] Added pre-commit for development environment 31d1c87 [Ivan Ogasawara] Added pre-commit for development environment
The test_insert fail should be investigated #1695 Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Phillip Cloud <cpcloud@gmail.com> Closes #1696 from xmnlab/skip_clickhouse_insert_test and squashes the following commits: 0afbbd9 [Krisztián Szűcs] skip the whole test 7201243 [Krisztián Szűcs] debug platform 0f76568 [Krisztián Szűcs] skip on win32 612315e [Krisztián Szűcs] disable failing tests 409efcf [Krisztián Szűcs] impyla cdd0a41 [Krisztián Szűcs] compose format 3 3c62791 [Krisztián Szűcs] factor out config env variables 74586fd [Krisztián Szűcs] install impyla from git; show running containers in docs build 4cf5bee [Krisztián Szűcs] python 3.7 1526d12 [Krisztián Szűcs] python 3.7 311cea1 [Krisztián Szűcs] debug azure pipelines: assert that parquet tmp test directory exists 7cb5e1d [Krisztián Szűcs] don't force pull images 9b8d9d5 [Krisztián Szűcs] documentation build 5cd33b1 [Ivan Ogasawara] added missing character 49b2e94 [Krisztián Szűcs] build-essentials c8bae5b [Krisztián Szűcs] resolve segfault f232e81 [Ivan Ogasawara] Added make command 508a240 [Krisztián Szűcs] don't install conda-build because it messes up the conda env 99a59ee [Krisztián Szűcs] inpin pyarrow and pymapd fb8f336 [Krisztián Szűcs] restructure docker setup and conda env installation; pinned arrow version e325270 [Ivan Ogasawara] Changed version of pymapd and pyarrow for ci docs ebc7380 [Krisztián Szűcs] parquet compat with arrow 0.12 4358a28 [Krisztián Szűcs] simplify conda env handling 5354f32 [Krisztián Szűcs] disable conda forge feedstock builds 29a86a0 [Krisztián Szűcs] conda-forge has dropped support for python 3.5 d127d9c [Ivan Ogasawara] Merge remote-tracking branch 'cpcloud/fix-master' into skip_clickhouse_insert_test 6a78866 [Ivan Ogasawara] Added pytest skip on clickhouse test_insert method 3a55093 [Phillip Cloud] Fix pandas tests
[Mapd] Fix MapD exception for toDateTime
This PR tries to resolve #1613 that demonstrates an error when using datetime columns. Author: Tony Fast <tony.fast@gmail.com> Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Closes #1659 from tonyfast/master and squashes the following commits: 42944dc [Krisztián Szűcs] flake8 972cceb [Ivan Ogasawara] Added format restriction 8edc413 [Tony Fast] Use the date literal e02c0ec [Tony Fast] Change how the toDateTime literal is formatted in mapd. 1d4389f [Tony Fast] Add a test for mapd toDateTime.
BUG: error in visualizing a graph, with a selection after a table join
[MapD] Added Union op as a unsupported operation
This PR fixes #1630. It add Union op as a unsupported operation. Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Closes #1654 from xmnlab/add-union-as-unsupported and squashes the following commits: 6c43606 [Krisztián Szűcs] remove unused _union function f23035f [Krisztián Szűcs] mapd union 0d6fee9 [Ivan Ogasawara] Added some changes a1c436e [Ivan Ogasawara] Fixed table union. Added test 6daf649 [Ivan Ogasawara] Fixes #1630
[MapD] Add geo spatial datatype support
Resolves partial #1665 - added support to geo spatial data MapD GEO spatial functions support should be addressed in another PR Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Closes #1666 from xmnlab/add_geospatial_support and squashes the following commits: d84150b [Ivan Ogasawara] Update docker and ci 479cb54 [Ivan Ogasawara] Fixed small issues c4f8111 [Krisztián Szűcs] don't use ibis.null function as a literal 45ddbf8 [Krisztián Szűcs] support non-inferable types in ibis.literal 688caee [Krisztián Szűcs] don't infer tuple types a6f5f00 [Krisztián Szűcs] plus test 7f90d14 [Krisztián Szűcs] flake8 c27491e [Ivan Ogasawara] Added initial structure for spatial data support
[MapD] Added Geospatial functions
This PR solves #1665 and solves #1707 Add Geo Spatial functions on the main structure and define these functions inside MapD backend. References: - Quansight/omnisci#21 - https://www.omnisci.com/docs/latest/5_geospatial_functions.html Depends on #1666 ( PR 1666 was used as base for the current PR) # Geospatial functions - Geometry/Geography Constructors - [x] ST_GeomFromText(WKT) - using literals - [x] ST_GeogFromText(WKT) - using literals - Geometry Editors - ~ST_Transform (Returns a new geometry with its coordinates transformed to a different spatial reference system.)~ - ~ST_SetSRID (Sets the SRID on a geometry to a particular integer value.)~ - Geometry Accessors - [x] ST_X (Return the X coordinate of the point, or NULL if not available. Input must be a point.) - [x] ST_Y (Return the Y coordinate of the point, or NULL if not available. Input must be a point.) - [x] ST_XMin (Returns Y minima of a bounding box 2d or 3d or a geometry.) - [x] ST_XMax (Returns X maxima of a bounding box 2d or 3d or a geometry.) - [x] ST_YMin (Returns Y minima of a bounding box 2d or 3d or a geometry.) - [x] ST_YMax (Returns Y maxima of a bounding box 2d or 3d or a geometry.) - [x] ST_StartPoint (Returns the first point of a LINESTRING geometry as a POINT or NULL if the input parameter is not a LINESTRING.) - [x] ST_EndPoint (Returns the last point of a LINESTRING geometry as a POINT or NULL if the input parameter is not a LINESTRING.) - [x] ST_PointN (Return the Nth point in a single linestring in the geometry. Negative values are counted backwards from the end of the LineString, so that -1 is the last point. Returns NULL if there is no linestring in the geometry.) - [x] ST_NPoints (Return the number of points in a geometry. Works for all geometries.) - [x] ST_NRings (If the geometry is a polygon or multi-polygon returns the number of rings. It counts the outer rings as well.) - [x] ST_SRID (Returns the spatial reference identifier for the ST_Geometry) - Spatial Relationships and Measurements - [x] ST_Distance - [x] ST_Contains - [x] ST_Area - [x] ST_Perimeter - [x] ST_Length - [x] ST_MaxDistance - Extra - ~CastToGeography~ TODO: will be added in a new PR. Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Author: Ivan Ogasawara <ivan.ogasawara@gmail.com> Closes #1678 from xmnlab/geospatial_functions and squashes the following commits: 4f94baf [Krisztián Szűcs] update docs conda dependencies 44dfaa6 [Krisztián Szűcs] remove IBIS_TEST_DOWNLOAD_DIRECTORY from the docs container as well a96c0fd [Ivan Ogasawara] Added pymapd dependence from conda a1e177d [Krisztián Szűcs] use pkg_resources to get pymapd's version 2cc2285 [Krisztián Szűcs] fox download path in docker-compose e4d4410 [Krisztián Szűcs] more robost testing data download script; updated requirements bb4c8f4 [Krisztián Szűcs] use the zip github endpoint to download the repository 4c3969c [Ivan Ogasawara] Added more tests
Remove long-deprecated code and clean up warnings created by ibis
Author: Phillip Cloud <cpcloud@gmail.com> Author: Krisztián Szűcs <szucs.krisztian@gmail.com> Closes #1714 from cpcloud/address-warnings and squashes the following commits: f68ac03 [Phillip Cloud] Remove last remnants of named interval APIs 3b8771f [Phillip Cloud] Fix interval usage d7803ac [Phillip Cloud] Fixup docstring 7a2d918 [Phillip Cloud] Remove services 56a3c81 [Krisztián Szűcs] fix deprecations in notebook f5d8d2e [Phillip Cloud] Allow restart to use ${SERVICES} 557f010 [Phillip Cloud] Remove gz usage in ci/setup_docker_volume.sh 6e624bf [Phillip Cloud] Fix interval usage in docs e0af86c [Phillip Cloud] Formatting 737dfbb [Phillip Cloud] Clean up manual tempfile creation 78c2577 [Phillip Cloud] Refer to named argument rather than position 5436d22 [Phillip Cloud] Remove add_column from api.rst db6e0f3 [Phillip Cloud] Make it easy to start up a specific service, e.g., if it goes down f165e29 [Phillip Cloud] Fix importing and skipping b3c0a8f [Phillip Cloud] Add session kwarg docstring 3fb9d42 [Phillip Cloud] Docstring cleanup 533100b [Phillip Cloud] Pass session explicitly cc50c96 [Phillip Cloud] Simplify make test 51e5b74 [Phillip Cloud] Use the right variable 200c495 [Phillip Cloud] Map plural to singular 1a0a5ab [Phillip Cloud] Remove usage of named intervals d073e6f [Phillip Cloud] Address race condition in tear down 6fb7808 [Phillip Cloud] Fix docstring 9f683ea [Phillip Cloud] Address bigquery date offset arithmetic warning in test 00c4a6f [Phillip Cloud] Fix bigquery warning with infer dtype 958f900 [Krisztián Szűcs] rename remaining ibis.month definitions 8e05336 [Phillip Cloud] Fix warning cee5496 [Phillip Cloud] Constrain pandas to make sure we have the skipna argument to infer_dtype 9b0cb94 [Phillip Cloud] Pass skipna=True to infer_dtype from pandas 6360bd3 [Phillip Cloud] Fix numpy warning d363749 [Phillip Cloud] More raw fixes f42b713 [Phillip Cloud] SQLAlchemy warning 330c60b [Phillip Cloud] Fix usage of intervals and tz 8e43237 [Phillip Cloud] Fix raw passing 8787f2b [Phillip Cloud] ix is inclusive apparently 2d38bac [Phillip Cloud] Ignore bytecode related files and directories 635a989 [Phillip Cloud] Remove internal usage of timedelta api c0256fe [Phillip Cloud] Remove timedelta api f9ed0b3 [Phillip Cloud] Put raw in the correct place a89970b [Phillip Cloud] Remove usage of ix ae700bd [Phillip Cloud] Fix pytest test 50febc1 [Phillip Cloud] Add PYTEST_OPTIONS to makefile ffd3371 [Phillip Cloud] Move all unit usages to interval 888dfb5 [Phillip Cloud] Use raw to preserve behavior in apply 9c49630 [Phillip Cloud] Binary has been renamed to LargeBinary in SQLAlchemy 068cff5 [Phillip Cloud] Use tz_localize instead of tz argument 7da184e [Phillip Cloud] Address pytest raises message parameter warning 96581ff [Phillip Cloud] Use collections.abc for ABCs 274d8aa [Phillip Cloud] Remove add_column
DEPR: Remove support for passing integers to ibis.timestamp
Author: Phillip Cloud <cpcloud@gmail.com> Closes #1725 from cpcloud/remove-timestamp-integer and squashes the following commits: 8206c14 [Phillip Cloud] Catch integers that are not instances of int but satisfy numbers.Integral, such as np.int64 7afb38f [Phillip Cloud] Beef up test c040129 [Phillip Cloud] Fully deprecate ibis timestamp accepting integers 8617b43 [Phillip Cloud] Add test