Changeset: 69410a316a7a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/69410a316a7a Modified Files: sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.test sql/backends/monet5/UDF/pyapi3/conversion3.c sql/backends/monet5/UDF/pyapi3/pytypes3.c Branch: default Log Message:
Cleanup pyapi code a bit diffs (86 lines): diff --git a/sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.test b/sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.test --- a/sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.test +++ b/sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.test @@ -94,14 +94,14 @@ LANGUAGE PYTHON { import datetime result = dict() - result['d'] = datetime.time(12, 0, 0, 0) + result['d'] = datetime.time(12, 0, 0, 1) return result } query T rowsort SELECT * FROM pyapi_ret_time() ---- -12:00:00 +12:00:00.000001 statement ok CREATE FUNCTION pyapi_ret_timestamp() RETURNS TABLE(d TIMESTAMP) @@ -116,7 +116,7 @@ LANGUAGE PYTHON query T rowsort SELECT * FROM pyapi_ret_timestamp() ---- -2000-01-01 12:00:00 +2000-01-01 12:00:00.000001 statement ok CREATE FUNCTION pyapi_ret_decimal() RETURNS TABLE(d DECIMAL) @@ -170,10 +170,10 @@ statement ok rowcount 1 INSERT INTO uuid_tbl VALUES ('54771a16-b4ad-4f1a-a9b7-4d8e8ca6fb7c') statement ok -CREATE FUNCTION pyapi_interval(d UUID) RETURNS STRING LANGUAGE PYTHON { return d; } +CREATE FUNCTION pyapi_uuid(d UUID) RETURNS STRING LANGUAGE PYTHON { return d; } query T rowsort -SELECT pyapi_interval(d) FROM uuid_tbl +SELECT pyapi_uuid(d) FROM uuid_tbl ---- 54771a16-b4ad-4f1a-a9b7-4d8e8ca6fb7c diff --git a/sql/backends/monet5/UDF/pyapi3/conversion3.c b/sql/backends/monet5/UDF/pyapi3/conversion3.c --- a/sql/backends/monet5/UDF/pyapi3/conversion3.c +++ b/sql/backends/monet5/UDF/pyapi3/conversion3.c @@ -1149,9 +1149,6 @@ BAT *PyObject_ConvertToBAT(PyReturn *ret bit ConvertableSQLType(sql_subtype *sql_subtype) { switch (GetSQLType(sql_subtype)) { - /* case EC_DATE: */ - /* case EC_TIME: */ - /* case EC_TIMESTAMP: */ case EC_DEC: return 1; } @@ -1177,11 +1174,6 @@ str ConvertFromSQLType(BAT *b, sql_subty assert(sql_subtype->type); switch (sql_subtype->type->eclass) { - /* case EC_DATE: */ - /* case EC_TIME: */ - /* case EC_TIMESTAMP: */ - /* conv_type = TYPE_str; */ - /* break; */ case EC_DEC: conv_type = TYPE_dbl; break; diff --git a/sql/backends/monet5/UDF/pyapi3/pytypes3.c b/sql/backends/monet5/UDF/pyapi3/pytypes3.c --- a/sql/backends/monet5/UDF/pyapi3/pytypes3.c +++ b/sql/backends/monet5/UDF/pyapi3/pytypes3.c @@ -269,12 +269,13 @@ bool Python_ReleaseGIL(bool state) return 0; } -// Returns true if the type of [object] is a scalar (i.e. numeric scalar or -// string, basically "not an array but a single value") +// Returns true if the type of [object] is a scalar (i.e. numeric scalar, date, time, datetime value or string, +// basically "not an array but a single value") bool PyType_IsPyScalar(PyObject *object) { if (object == NULL) return false; + USE_DATETIME_API; return (PyArray_CheckScalar(object) || PyLong_Check(object) || PyFloat_Check(object) || PyUnicode_Check(object) || _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org