Hi, That's not available right now, but I see it might be useful. Patches are welcome!
Regards, Thomas On Thu, Feb 14, 2013 at 9:20 PM, Josef Hopfgartner <[email protected]>wrote: > Hi Thomas, > > thanks for your answer! I created a linked table in my example DB on this > management db's SESSIONS-table. > > create linked table public.sessions > ('','jdbc:h2:mem:management_db_9092','','','PUBLIC.SESSIONS'); > > an I also connected multiple times to my local tcp server. > select * from public.sessions; > ID URL USER CONNECTED > 2 jdbc:h2:tcp://localhost/hu SA 2013-02-14 21:03:49 > 3 jdbc:h2:tcp://localhost/hu SA 2013-02-14 21:03:51 > 4 jdbc:h2:tcp://joebook/hu SA 2013-02-14 21:06:54 > > Now, what I meant to see was also the IP-address of the server's client > connection object. > And maybe some more columns, that ought to be communicated from client to > server, like: > - Client OS > - Client OS User > - Client OS application name > - Client OS Process ID > > > Am Donnerstag, 14. Februar 2013 19:55:57 UTC+1 schrieb Thomas Mueller: >> >> Hi, >> >> There is an in-memory "management_db_<port>" for each TCP server. A TCP >> server can server multiple databases. To connect to it, you need to know >> the "managementPassword", which is the password you need to set using the >> -tcpPassword setting. The user name is an empty string. See also >> TcpServer.initManagementDb and TcpServer.shutdown. You can get the >> sessions, database URLs, user names, and time of connection. >> >> Regards, >> Thomas >> >> >> >> On Thu, Feb 14, 2013 at 4:32 PM, Josef Hopfgartner >> <[email protected]>wrote: >> >>> I would need this feature for logging. >>> It would be interesting to see as many or even more information as in >>> V$SESSION in Oracle. >>> >>> Actually, I've created a Libreoffice Base document which is configured >>> to use H2 tcp server with parameter "INIT=Call do_sync()" >>> This H2 has configured linked tables to query different databases. >>> Those queries are quite costly and I don't need the results to be up to >>> date. >>> >>> So, the H2 alias "do_sync()" logs and checks, how up to date the query >>> results are. >>> If necessery, it does some queries again. >>> >>> Best regards, >>> Josef >>> >>> PS: Here is the alias definition: >>> void query(Connection conn) throws SQLException { >>> java.lang.String sql = ""; >>> sql = "select count(*) from PUBLIC.LOGGER where ZEIT > >>> CURRENT_TIMESTAMP - 0.5 and SYNCED = true"; >>> java.sql.ResultSet tmpRes = conn.createStatement().** >>> executeQuery(sql); >>> while (tmpRes.next()) { >>> Long i = tmpRes.getLong(1); >>> String s = "false"; >>> if (i == 0) { >>> sql = "create temporary table t1 as select knd_nr, knd_kurz >>> from konz9999.knd_so"; conn.createStatement().**execute(sql); >>> sql = "merge into t1 key (knd_nr) select knd_nr, knd_kurz from >>> mdg.kunden where length(knd_kurz) > 1"; conn.createStatement().** >>> execute(sql); >>> sql = "merge into kontrakte.knd_so key (knd_nr) select knd_nr, >>> knd_kurz from t1"; conn.createStatement().**execute(sql); >>> //sql = "delete from kontrakte.knd_so where knd_nr not in >>> (select knd_nr from t1)"; conn.createStatement().**execute(sql); >>> >>> sql = "create temporary table t2 as select * from konz9999.art"; >>> conn.createStatement().**execute(sql); >>> sql = "merge into kontrakte.art key (art_nr) SELECT * from t2"; >>> conn.createStatement().**execute(sql); >>> //sql = "delete from kontrakte.art where art_nr not in (SELECT >>> art_nr from t2)"; conn.createStatement().**execute(sql); >>> >>> sql = "create temporary table t3 as select * from >>> konz9999.mit_so"; conn.createStatement().**execute(sql); >>> sql = "merge into kontrakte.mit_so key (mit_nr) SELECT * from >>> t3"; conn.createStatement().**execute(sql); >>> //sql = "delete from kontrakte.mit_so where mit_nr not in >>> (SELECT mit_nr from t3)"; conn.createStatement().**execute(sql); >>> >>> sql = "create temporary table t4 as SELECT ANR, MATCH, ANRBEZ1, >>> ANRBEZ2, cast(NETTO as decimal(65535,255)) as NETTO from m2.tklager"; >>> conn.createStatement().**execute(sql); >>> sql = "merge into kontrakte.tklager key (anr) SELECT * from t4"; >>> conn.createStatement().**execute(sql); >>> sql = "delete from kontrakte.tklager where anr not in (SELECT >>> anr from t4)"; conn.createStatement().**execute(sql); >>> >>> sql = "drop table if exists t1,t2,t3,t4"; conn.createStatement(). >>> **execute(sql); >>> s = "true"; >>> } >>> sql = "INSERT INTO PUBLIC.LOGGER VALUES (current_timestamp, >>> session_id(), " + s + " )"; conn.createStatement().**execute(sql); >>> break; >>> } >>> } >>> >>> >>> >>> >>> Am Dienstag, 12. Februar 2013 15:46:20 UTC+1 schrieb Noel Grandin: >>>> >>>> Not possible at the moment, I'm afraid. >>>> >>>> Doesn't sound that hard to add. >>>> Start with org.h2.server.TcpServerThread, propogate the information >>>> down >>>> to org.h2.engine.Session, and then expose it from there to >>>> org.h2.table.MetaTable. >>>> >>>> What do you need it for? >>>> >>>> On 2013-02-12 15:56, Josef Hopfgartner wrote: >>>> > Hello, >>>> > >>>> > does anybody know if it is already possible to display the active >>>> > session's client IP-address in an H2 TCP server? >>>> > >>>> > Regards, >>>> > Josef >>>> > -- >>>> > You received this message because you are subscribed to the Google >>>> > Groups "H2 Database" group. >>>> > To unsubscribe from this group and stop receiving emails from it, >>>> send >>>> > an email to h2-database...@**googlegroups.**com. >>>> > To post to this group, send email to [email protected]. >>>> > Visit this group at http://groups.google.com/**group** >>>> /h2-database?hl=en <http://groups.google.com/group/h2-database?hl=en>. >>>> > For more options, visit >>>> > https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out>. >>>> >>>> > >>>> > >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "H2 Database" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to h2-database...@**googlegroups.com. >>> To post to this group, send email to [email protected]. >>> Visit this group at >>> http://groups.google.com/**group/h2-database?hl=en<http://groups.google.com/group/h2-database?hl=en> >>> . >>> For more options, visit >>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>> . >>> >>> >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "H2 Database" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/h2-database?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
