Git Product home page Git Product logo

Comments (2)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 21, 2024
Here's the thought.

plv8 window function will defines `winobj` object in local scope.  It 
represents the variable with the same name in C API.  

{{{
winobj.get_current_position();
winobj.get_partition_row_count();
winobj.set_mark_position(pos);
winobj.rows_are_peers(pos1, pos2);
winobj.get_arg_in_partition(argno, relpos, seektype, set_mark);
winobj.get_arg_in_frame(argno, relpos, seektype, set_mark);
winobj.get_arg_current(argno);
}}}

get_arg_xxx are a bit ugly; I don't want to make function specify argument 
number.  Maybe we should come up with more user-friendly analogy.  Also I won't 
expose WinGetPartitionLocalMemory(), as it is too low-level, and winobj should 
probably handle that internally.

=== Appendix: Window function API in postgres ===
{{{
extern void *WinGetPartitionLocalMemory(WindowObject winobj, Size sz);

extern int64 WinGetCurrentPosition(WindowObject winobj);
extern int64 WinGetPartitionRowCount(WindowObject winobj);

extern void WinSetMarkPosition(WindowObject winobj, int64 markpos);

extern bool WinRowsArePeers(WindowObject winobj, int64 pos1, int64 pos2);

extern Datum WinGetFuncArgInPartition(WindowObject winobj, int argno,
                         int relpos, int seektype, bool set_mark,
                         bool *isnull, bool *isout);

extern Datum WinGetFuncArgInFrame(WindowObject winobj, int argno,
                     int relpos, int seektype, bool set_mark,
                     bool *isnull, bool *isout);

extern Datum WinGetFuncArgCurrent(WindowObject winobj, int argno,
                     bool *isnull);
}}}

Original comment by [email protected] on 2 Dec 2012 at 6:47

from plv8.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 21, 2024
db84508

Original comment by [email protected] on 8 Dec 2012 at 9:43

  • Changed state: Fixed

from plv8.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.