Commits on Dec 7, 2012
  1. Initial Debian packaging

    committed Dec 7, 2012
  2. @umitanuki

    Support internal type as argument types.

    Internal type is useful for pure javascript function called by
    umitanuki committed Dec 7, 2012
  3. @umitanuki
Commits on Dec 4, 2012
  1. @umitanuki

    Add more content on README.

    umitanuki committed Dec 4, 2012
Commits on Dec 3, 2012
  1. @umitanuki
  2. @umitanuki

    Introduce external array suport.

    v8 has ever invented TypedArray, which maps JS array to fixed-length
    element memory, originally for canvas pixel support.  We utilize it
    for bytea conversion and int/float array.  In the array case, we had
    to annotate the type by domain as it's an external array type to JS,
    otherwise, we would loose the current flexibility around array conversion.
    Those annotation type names may be changed in the future.  Also, it
    might be reasonable to introduce TypedArray such like in d8, in order
    for users to make their own fixed-length element array, but it will be
    a different story.
    umitanuki committed Dec 3, 2012
Commits on Dec 2, 2012
  1. @umitanuki

    Support v8 remote debugger.

    The feature is enabled only if make is given ENABLE_DEBUGGER_SUPPORT=1,
    because we are not sure how much of v8 installations are with debug
    enabled.  Maybe it is safe to flip the flag to DISABLE_DEBUGGER_SUPPORT.
    On the other hand, with static build, we are sure we can support it.
    umitanuki committed Dec 2, 2012
  2. @umitanuki
Commits on Dec 1, 2012
  1. @umitanuki

    Support json type conversion.

    Now the json type is built-in since 9.2, it is reasonable to convert
    the text representation to/from object.  V8 doesn't expose JsonParser
    interface to C++ client, so we ended up extracting JSON.parse/stringify
    from the global context.  There shouldn't be any performance gain
    over the user script calling the functions, but it is only for convenience.
    This breaks the existing script that calls JSON.parse/stringify.
    umitanuki committed Dec 1, 2012
  2. @umitanuki

    Add v8 auto build and static link.

    Type 'make static' and it will download v8 source, builds it, and
    do static link.  It is still by default, as I think the dependency
    download/build takes too long for people who expect a lightweight
    installation, especially around PGXN.  Will see if people want it
    as default.
    umitanuki committed Dec 1, 2012
Commits on Nov 29, 2012
  1. @umitanuki

    Fix the case where trigger returns null to skip the row.

    Per report #41.
    umitanuki committed Nov 29, 2012
Commits on Sep 26, 2012
  1. @umitanuki

    Tweak for 9.3devel.

    umitanuki committed Sep 26, 2012
  2. @umitanuki

    Add copyrights.

    umitanuki committed Sep 26, 2012
  3. @umitanuki
  4. @umitanuki

    Add plcoffee and plls in META.json.

    Now we build them by default, it is reasonable to expose them in PGXN.
    Also bump the recommended PostgreSQL version.
    umitanuki committed Sep 26, 2012
  5. @umitanuki

    Clean up dialect supports.

    Dialects are now built by default.  A new option DISABLE_DIALECT=1 suppress
    to build dialects into the shared object.
    umitanuki committed Sep 25, 2012
Commits on Sep 24, 2012
  1. @umitanuki

    Use the same version number across project and bump to 1.3.0devel.

    Previously we chose different numbers as distribution version and extension
    number, but it was sometimes confusing.  Hope one version is better than two.
    umitanuki committed Sep 24, 2012
  2. @umitanuki

    Clean up Makefile.

    umitanuki committed Sep 24, 2012
  3. @umitanuki

    Support static link to v8.

    In some circumstances, it is convenient to link v8 statically while we still
    build plv8 with dynamic linking by default.  v8 supports both of dynamic and
    static links, and also two modes of snapshot on and snapshot off in the static
    library.  It might be possible to find the mode by looking at the v8 directory,
    but it is wise to let users explicitly choose it to avoid to shoot in the foot.
    Also rethink V8DIR, which was not working well.  Previous coding was not so
    nice as the default value was quite unportable.  Now we have two different
    variables, V8_SRCDIR pointing to the v8 source directory, and V8_OUTDIR
    pointing to the v8 build output directory.  By default without specifying
    them, the system will find the appropriate ones.  We might want to introduce
    our own configure script, but for now we stay in Makefile which is still
    simpler than other solutions.
    umitanuki committed Sep 24, 2012
Commits on Sep 22, 2012
  1. @umitanuki

    Remove dependency of v8/d8 to parse META.json.

    Ideally we want to have only one place for the version string, but parsing
    META.json is a bit challenging; at one time we had v8/d8 parsing META.json
    to pass this value to source file, but it turned out those utilities may not
    be available everywhere.  Since this integrity matters only developers,
    we just check it if they are available.  We may come up with a better
    solution to have it in one place in the future.
    umitanuki committed Sep 22, 2012
Commits on Sep 21, 2012
  1. @umitanuki

    Change CCFLAGS again.

    It seems not all the options in CFLAGS that are available in gcc cannot be
    used in g++.  This time only -Wall is specified with new OPTFLAGS, hoping
    developer can pass their arguments on demand.
    umitanuki committed Sep 21, 2012
Commits on Sep 17, 2012
  1. @umitanuki

    Fix Makefile to use the PGXS's CFLAGS properly.

    In the previous coding, we didn't actually inherit any flags from PGXS.
    One of the significant flag was -g, which sometimes made it difficult
    to debug the code.
    umitanuki committed Sep 17, 2012
Commits on Sep 16, 2012
  1. @umitanuki

    Fix a crash case to return non-array in array-returning function.

    It seems Array::Cast does not return an empty handle.  We should check
    the type by IsArray().
    umitanuki committed Sep 16, 2012
  2. @audreyt @umitanuki

    Support LiveScript as an additional dialect.

    LiveScript is yet another dialect of JavaScript, in a way we support
    CoffeeScript.  Although we put this as additional change on top of the
    existing CoffeeScript support, we will need to refactor the code so
    that more dialects can be easily supported.
    audreyt committed with umitanuki Sep 4, 2012
Commits on Jul 26, 2012
  1. @umitanuki

    Use CUSTOM_CC instead of hard-coded g++.

    Per bug report #33.
    umitanuki committed Jul 26, 2012
Commits on Jul 22, 2012
  1. @umitanuki

    Fix plcoffee issue.

    Reported as #31.
    umitanuki committed Jul 22, 2012
Commits on Jul 21, 2012
  1. @umitanuki

    Mark v1.2.0

    umitanuki committed Jul 21, 2012
Commits on Jul 5, 2012
  1. @adunstan

    Suppress error message if v8 command not found.

    In this case we go looking for the d8 command anyway.
    adunstan committed Jul 5, 2012
  2. @adunstan

    Check that field names match for SRFs.

    Field names returned by SRFs much exactly match the expected
    values, both in number and content. This is consistent with
    the requirements of other PLs.
    A couple of additional regression tests are added to monitor this.
    adunstan committed Jul 5, 2012
  3. @adunstan

    Stricter checking for SRF returns.

    We check that the right number of attributes are returned.
    Still to do is checking that the names match one to one.
    (The infrastructure is there, I just need to brush the cobwebs
    off my C++ to write the actual name comparison test, and it's
    too late at night for me to do that now.)
    adunstan committed Jul 5, 2012
  4. @adunstan
Commits on Jul 4, 2012
  1. @adunstan

    Try to use d8 if v8 command doesn't succeed.

    Some installations (e.g. Fedora) install the command line JSON interpreter as d8.
    adunstan committed Jul 4, 2012
Commits on Jun 26, 2012
  1. @umitanuki

    Let parser deduce parameter types in SPI queries.

    The mechanism is based on the variable parameter hook available since 9.0.
    For 8.4, we still have to specify the parameter types.  plan.execute,
    plan.cursor is also updated to make use of this.
    Change ValueGetDatum and InferredDatumType to lower_case functions, as
    they look safe and natural to use outside of C++ try block.
    is also a bit modified to reduce code complexity in  In 8.4,
    plv8_param_state is never used, but leaving it in the source makes more
    readable than hiding the definition completely.
    umitanuki committed May 31, 2012
Commits on Jun 8, 2012
  1. @umitanuki

    Bump to 1.1.0

    umitanuki committed Jun 8, 2012
Commits on Jun 7, 2012
  1. @umitanuki

    Add plv8.version.

    umitanuki committed Jun 7, 2012