Participants
Dave Cramer
Thomas Hallgren
Laszlo Hornyak
Throughout this document, the solutions are called Pl/J (using remote calls
and one JVM) and Pl/Java (using one JVM per connection).
1. Common interfaces.
Laszlo provided Thomas with an URL so that he could download their solution.
We
will expect the standard name.
Regards,
Thomas Hallgren
Andrew Dunstan [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Yes. I am looking at a few of these things (preloading, intra-perl
calling, array and tuple return), and I understand that CommandPrompt is
doing some plperl work too
should be able to use. It comes with JNI (and what they claim a
much faster alternative). I'm currently looking into what's needed in order
to use GCJ for Pl/Java_JNI.
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 7: don't forget
for both designs. We
have different objectives. You strive to minimize the number of RPC calls. I
strive to minimize call overhead and resource consumption.
You probably have more ideas so please add to this.
Please confirm the time and tell me where we meet (what IRC).
Regards,
Thomas Hallgren
it comes to all Java code used to administer each
solution, but not in C-code.
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
), or not communicate at all
(calculations, etc.).
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
there that
can be used, with little or no effort, is enough to motivate my statement.
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
steps? Setting up benchmarking and test performance
perhaps? Should not be done my me, nor by the people behind the
Pl/Java_remote, but rather by someone who is truly objective.
Kind regards
Thomas Hallgren
---(end of broadcast)---
TIP 8: explain
, that's great. If we can
collaborate around one of the solutions, that's perhaps even better, at
least from a developer resource perspective.
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister
No, this was not related to triggers at all. The original discussion
concerned GUC functionality to handle configuration settings for pllang
extensions.
- thomas
- Original Message -
From: Bruce Momjian [EMAIL PROTECTED]
To: Joe Conway [EMAIL PROTECTED]
Cc: Thomas Hallgren [EMAIL
)
{
Query* queryTree = (Query*)lfirst((List*)lfirst(qtlist));
if(queryTree-commandType == CMD_SELECT queryTree-into == NULL)
return true;
}
return false;
}
Regards,
Thomas Hallgren
- Original Message -
From: Bruce Momjian [EMAIL PROTECTED]
To: Thomas Hallgren [EMAIL PROTECTED]
Cc
What about transactions? Let's say the first call was in a transaction
that's been rolled back. Semantically, that means the call never happened.
If you maintain the session data in a table, everything is fine of course.
But if it's in memory the solution has some rather nasty implications to it.
Lane [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Thomas Hallgren [EMAIL PROTECTED] writes:
Andrew Dunstan [EMAIL PROTECTED] wrote:
The attached tiny patch (not intended for application yet) provides a
space for plperl functions to create and share session persistent data,
What
to starting the
JVM)
4. Some other place that is obvious but not currently known to me
Thanks,
Thomas Hallgren
---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do
established. Is that possible today? If so, how do I
register the function to be called?
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings
things that it's not supposed to (like changing things). That's
part of my original question really, how hard is it to implement?.
Regards,
Thomas Hallgren
David Helgason [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
On 31. jan 2004, at 18:53, Tom Lane wrote:
Thomas Hallgren [EMAIL
I don't want to kludge up a 2-phase commit support. Any attempt to provide
that must be extremely well thought through :-)
But I would like to know more about PostgreSQL capabilities in the area.
What kind of XA-support is there? Can I read about this somewhere? (I'm
working on an Open Source
a look at the readme file and the user guide.
http://gborg.postgresql.org/project/pljava/genpage.php?readme
http://gborg.postgresql.org/project/pljava/genpage.php?userguide
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 1: subscribe
I'm trying to use a function that returns a complex type. I have no problem
creating the function but when I try to use it I get the message:
ERROR: function in FROM has unsupported return type
Apparently, this message stems from the parser. Changing the function so
that it returns a SETOF the
call). AFAICS, the way I do it is by the book. What am I
doing wrong?
Regards,
Thomas Hallgren
Tom Lane [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Thomas Hallgren [EMAIL PROTECTED] writes:
I'm trying to use a function that returns a complex type. I have no
problem
creating
to TypeGetTupleDesc, then everything works just fine.
I still suspect that something is broken with the calling mechanism. At
least for languages that do not compile the stuff into permanent structures
prior to evaluating.
Regards,
Thomas Hallgren
Tom Lane [EMAIL PROTECTED] wrote in message
news:[EMAIL
system. Consequently, I have to use libpljava to reference
the module in SQL while I use pljava for the same module in Java. It would
be very nice if PostgreSQL could make an attempt to first prepend the lib
and if that doesn't work, try without the prefix on a Unix system.
Regards,
Thomas Hallgren
to be?
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html
.
IMO, that should be doable without nested transactions.
Regards,
Thomas Hallgren
Tom Lane [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Thomas Hallgren [EMAIL PROTECTED] writes:
My question is, at the point of /* Handle error here */, how do I get
hold
of the error information
Is it safe to call pfree() from multiple threads?
My Java backend will need to utilize finalizers. Objects like a saved
execution plan that has been forgotten must be released when the wrapping
Java object is finalized to avoid memory leaks. The finalizer is called from
the garbage collector
appreciate any comments on it very much.
Regards,
- thomas
Tom Lane [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Thomas Hallgren [EMAIL PROTECTED] writes:
Is it safe to call pfree() from multiple threads?
There are no multiple threads in the backend, and no provision whatever
;
}
return ((_SPI_plan*)plan)-argtypes[argIndex];
}
Regards,
Thomas Hallgren
---(end of broadcast)---
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
I just posted my initial release of the Pl/Java stuff on Gborg. The pljava
project is under Postgres tools - Drivers/Interfaces. Read the
org.postgresql.pljava/readme.htm (you find it using the CVS view) for more
info.
---(end of broadcast)---
TIP
I'm working on a pl/java project and have come quite far with it. Triggers
and Functions are both callable, there's support for complex types etc. I
have a project on GBorg (pljava) where I'll post all source in a CVS
repository in a matter of days (the code is ready but my ISP have a router
I think much of the issues should be resolved using JDBC and
java.sql.ResultSet and a couple of interfaces that can be used when mapping
specific types to specific Java objects (SQLData, SQLReader/SQLWriter).
A PL/Java needs a hook where a connection is initialized for JDBC access
in the backend.
hard to write and maintain
using plain C. A language with built-in support for OO semantics can be of
great help. IMO it's better to keep an open mind regarding the future and
the potential languages that might be used than to make remarks like the one
Mr. Poure just made.
Thomas Hallgren
Jean
100 entries and performance will be an issue. I'm sure something like
this exists in postgres but I haven't been able to find it. Please point me
in the right direction.
Thanks,
Thomas Hallgren
---(end of broadcast)---
TIP 6: Have you searched
Eisentraut [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Andrew Dunstan wrote:
Peter Eisentraut wrote:
Thomas Hallgren wrote:
What are your thoughts and ideas?
Instead of making up your own stuff, there's a whole SQL standard
that tells you how Java embedded in an SQL
My 2 cents...
The C++ language is a horrible language from an OO perspective. Operator
overloading, copy-constructors, templates, etc. can produce quite horrendous
and inefficient results if used incorrectly. Having said that I must defend
it some too.
Using C++, you get inheritance,
connection. Some things will be limited
(begin/commit etc. will not be possible to do here for instance).
Current status is that my first calls from Postgres to Java has been made.
Lot's of work remain.
What are your thoughts and ideas?
Thomas Hallgren
---(end of broadcast
The JVM will be started on-demand.
Although I realize that one JVM per connection will consume a fair amount of
resources, I still think it is the best solution. The description of this
system must of course make it very clear that this is what happens and
ultimately provide the means of tuning
Two comments.
Context switches are of course much cheaper then loading a JVM. No argument
there. The point is that the JVM is loaded once for each connection (when
the connection makes the first call to a java function). Millions of calls
may follow that reuses the same JVM. Each of those calls
401 - 437 of 437 matches
Mail list logo