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 -- [email protected]
To unsubscribe send an email to [email protected]