Pljava Build Failure Against PG 8.4

View: New views
2 Messages — Rating Filter:   Alert me  

Pljava Build Failure Against PG 8.4

by Talha Rizwan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Pljava-1.4.0 stops building after the following changes in PostgreSQL 8.4:

commit e53e76a8ebe64dbc8a64ec3dec5ba0
6f2e787f0b
Author: Tom Lane <tgl@...>
Date:   Wed Nov 19 01:10:24 2008 +0000

   Some infrastructure changes for the upcoming auto-explain contrib module:
       * Refactor explain.c slightly to export a convenient-to-use subroutine
   for printing EXPLAIN results.
       * Provide hooks for plugins to get control at ExecutorStart and ExecutorEnd
   as well as ExecutorRun.
       * Add some minimal support for tracking the total runtime of ExecutorRun.
   This code won't actually do anything unless a plugin prods it to.
       * Change the API of the DefineCustomXXXVariable functions to allow nonzero
   "flags" to be specified for a custom GUC variable.  While at it, also make
   the "bootstrap" default value for custom GUCs be explicitly specified as a
   parameter to these functions.  This is to eliminate confusion over where the
   default comes from, as has been expressed in the past by some users of the
   custom-variable facility.
       * Refactor GUC code a bit to ensure that a custom variable gets initialized    something valid (like its default value) even if the placeholder value was
   invalid.

I've modified DefineCustomXXXVariable arguments by passing default values for two new parameters i.e:
  • NULL for const char *bootValue
  • 0 for int flags
I've also added checks using #ifdef only for new arguments so that it works on earlier version as well.

>> PFA pljava-fix.patch and do let me know if you find any problem in it.

--
Regards
Talha Bin Rizwan

[pljava-fix.patch]

*** pljava-1.4.0/src/C/pljava/Backend.c 2008-12-02 13:06:08.591285896 +0500
--- src/C/pljava/Backend.c 2008-12-02 13:13:47.188568512 +0500
***************
*** 561,567 ****
--- 561,573 ----
  "Options sent to the JVM when it is created",
  NULL,
  &vmoptions,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ NULL,
+ #endif
  PGC_USERSET,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ 0,
+ #endif
  NULL, NULL);
 
  DefineCustomStringVariable(
***************
*** 569,575 ****
--- 575,587 ----
  "Classpath used by the JVM",
  NULL,
  &classpath,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ NULL,
+ #endif
  PGC_USERSET,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ 0,
+ #endif
  NULL, NULL);
 
  DefineCustomBoolVariable(
***************
*** 577,583 ****
--- 589,601 ----
  "Stop the backend to attach a debugger",
  NULL,
  &pljavaDebug,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ NULL,
+ #endif
  PGC_USERSET,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ 0,
+ #endif
  NULL, NULL);
 
  DefineCustomIntVariable(
***************
*** 586,592 ****
--- 604,616 ----
  NULL,
  &statementCacheSize,
  0, 512,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ NULL,
+ #endif
  PGC_USERSET,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ 0,
+ #endif
  NULL, NULL);
 
  DefineCustomBoolVariable(
***************
*** 594,600 ****
--- 618,630 ----
  "If true, lingering savepoints will be released on function exit. If false, the will be rolled back",
  NULL,
  &pljavaReleaseLingeringSavepoints,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ NULL,
+ #endif
  PGC_USERSET,
+ #if (PGSQL_MAJOR_VER == 8 && PGSQL_MINOR_VER > 3)
+ 0,
+ #endif
  NULL, NULL);
 
  EmitWarningsOnPlaceholders("pljava");


_______________________________________________
Pljava-dev mailing list
Pljava-dev@...
http://pgfoundry.org/mailman/listinfo/pljava-dev

Re: Pljava Build Failure Against PG 8.4

by Kris Jurka :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On Tue, 2 Dec 2008, Talha Rizwan wrote:

> Pljava-1.4.0 stops building after the following changes in PostgreSQL
> 8.4:
>
> I've also added checks using *#ifdef* only for new arguments so that it
> works on earlier version as well.

I've applied this fix to CVS.  One thing I changed was that for
DefineCustom[Int|Bool]Variable, it wants an int or bool argument, not NULL
for the default.

Kris Jurka
_______________________________________________
Pljava-dev mailing list
Pljava-dev@...
http://pgfoundry.org/mailman/listinfo/pljava-dev