Comments (3)
As the error says, window functions cannot return a set. You want to return a record, not a table! Change return type like this
CREATE OR REPLACE FUNCTION TS_DER_01_31(numeric, out TS_DER_01_31_size numeric, out TS_DER_01_31_time_index numeric)
AS
$BODY$
...
But it is somewhat useless IIRC. I'm not sure if there is an easy way to unpack that record from a window function. I am not sure whether registered composite type can help to return several values from a window function. Also it is somewhat inefficient to use ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW as lots of stuff being passed to R again and again, you'd be better off doing that in R while using the whole window frame as it is special cased. With all that, perhaps, it is easier to write a regular function returning a set of / table, not a window one.
from plr.
create type myout as (a float8, b float8);
CREATE OR REPLACE FUNCTION TS_DER_01_31(numeric)
RETURNS myout AS
$BODY$
as.list( base::tryCatch(expr=as.numeric(feasts::shift_level_max(farg1)), error=function(e){c(NA,NA)}) )
$BODY$
LANGUAGE 'plr' WINDOW;
-- test function:
select *, (TS_DER_01_31).*
from (
select *,
TS_DER_01_31(usage) OVER w
from ts_der_sample where custid < 3
WINDOW w AS (PARTITION BY custid ORDER BY month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
) foo;
from plr.
no response from OP
from plr.
Related Issues (20)
- Figure out how skip ci for non code changes
- Release 8.4.2 HOT 4
- Changelog should have an example of a custom type (tuple) argument in a window function
- Need to revert this change HOT 1
- Tagging the project no longer releases the tag HOT 9
- Test and Build PL/R on PostgreSQL 14 HOT 4
- Can't ALTER EXTENSION ... UPDATE from 8.4.2 to 8.4.4 HOT 3
- Package libR was not found in the pkg-config search path HOT 4
- Fix the pgcrypto position error in the Windows build that uses pg master HOT 2
- 8_4_5 release is missing from releases section of github HOT 5
- Fix Code Documentation HOT 2
- Could not load library plr.dll HOT 21
- Update appveyor to pg v14 and R v 4.2.0 HOT 6
- Build PL/R on PG15 and R_4.2.1 and 4.1.3 HOT 4
- New R 4.3.0 with Visual Studio on Windows challenges HOT 3
- Build_plr_with_Microsoft_Visual_Studio_2022 HOT 4
- Update versions of PG and R. Support. Introduce the meson build system.
- Update versions of PG and R. Introduce the meson build system. #146
- Pull #149 - Linux Ubuntu Debian PostgreSQL 16 Binaries are Now Available HOT 1
- Getting started in Docker? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plr.