@@ -510,3 +510,115 @@ thanks,
510
510
---------------------------(end of broadcast)---------------------------
511
511
TIP 4: Don't 'kill -9' the postmaster
512
512
513
+ From pgsql-jdbc-owner+M968@postgresql.org Sun Jul 8 18:59:29 2001
514
+ Return-path: <pgsql-jdbc-owner+M968@postgresql.org>
515
+ Received: from postgresql.org (webmail.postgresql.org [216.126.85.28])
516
+ by candle.pha.pa.us (8.10.1/8.10.1) with ESMTP id f68MxTl05403
517
+ for <pgman@candle.pha.pa.us>; Sun, 8 Jul 2001 18:59:29 -0400 (EDT)
518
+ Received: from postgresql.org.org (webmail.postgresql.org [216.126.85.28])
519
+ by postgresql.org (8.11.3/8.11.1) with SMTP id f68MxWa07043
520
+ for <pgman@candle.pha.pa.us>; Sun, 8 Jul 2001 18:59:32 -0400 (EDT)
521
+ (envelope-from pgsql-jdbc-owner+M968@postgresql.org)
522
+ Received: from mailout02.sul.t-online.de (mailout02.sul.t-online.com [194.25.134.17])
523
+ by postgresql.org (8.11.3/8.11.1) with ESMTP id f68MrGa05368
524
+ for <pgsql-jdbc@postgresql.org>; Sun, 8 Jul 2001 18:53:16 -0400 (EDT)
525
+ (envelope-from peter_e@gmx.net)
526
+ Received: from fwd06.sul.t-online.de
527
+ by mailout02.sul.t-online.de with smtp
528
+ id 15JNQP-0004x9-00; Mon, 09 Jul 2001 00:53:13 +0200
529
+ Received: from peter.localdomain (520083510237-0001@[212.185.245.47]) by fmrl06.sul.t-online.com
530
+ with esmtp id 15JNQH-0xfc00C; Mon, 9 Jul 2001 00:53:05 +0200
531
+ Date: Mon, 9 Jul 2001 00:55:37 +0200 (CEST)
532
+ From: Peter Eisentraut <peter_e@gmx.net>
533
+ To: <pgsql-jdbc@postgresql.org>
534
+ Subject: [JDBC] To do list for DatabaseMetaData
535
+ Message-ID: <Pine.LNX.4.30.0107090041240.677-100000@peter.localdomain>
536
+ MIME-Version: 1.0
537
+ Content-Type: TEXT/PLAIN; charset=US-ASCII
538
+ X-Sender: 520083510237-0001@t-dialin.net
539
+ Precedence: bulk
540
+ Sender: pgsql-jdbc-owner@postgresql.org
541
+ Status: OR
542
+
543
+ Since DatabaseMetaData seems to have been a subject of interest lately I
544
+ have composed a list of concrete things that need to be done there.
545
+
546
+ The spec of DatabaseMetaData is here:
547
+ http://java.sun.com/j2se/1.3/docs/api/java/sql/DatabaseMetaData.html
548
+
549
+ All the functions listed in the spec and not listed below I have recently
550
+ checked and updated for correctness and compliance. Thus, this list is
551
+ complete. Functions marked with '?' I have not checked yet.
552
+
553
+ If someone wants to tackle some of the getThings() functions, a
554
+ description of the system catalogs is in the Developer's Guide. Also note
555
+ that some functions currently incorrectly handle the case of null patterns
556
+ vs. "" patterns vs. "%" patterns.
557
+
558
+ At least two parameters obtained by a DatabaseMetaData method are
559
+ user-tunable on the server side. The only way to get at those numbers
560
+ currently is to use SHOW and parse the NOTICE: it sends back (which is
561
+ impossible in the days of internationalized messages), so a nice
562
+ side-project would be to implement a get_config_variable(text) returns
563
+ text (better names possible) function to allow easier access.
564
+
565
+ Now the list:
566
+
567
+ allProceduresAreCallable()not all procedures listed are
568
+ callable (triggers, in/out)
569
+ allTablesAreSelectable()should this check access
570
+ privileges or what?
571
+ getSQLKeywords()outdated, could be automated like
572
+ keywords.sgml
573
+ getNumericFunctions()decide what exactly is a "numeric function"?
574
+ getStringFunctions()ditto
575
+ getSystemFunctions()ditto
576
+ getTimeDateFunctions()ditto
577
+ getExtraNameCharacters()server allows \200 to \377, how
578
+ does this fit in with Unicode?
579
+ getMaxColumnNameLength()32 is hard-coded here, maybe query server
580
+ getMaxColumnsInIndex()this should be detected from server
581
+ getMaxColumnsInTable()this limit is probably shaky
582
+ getMaxConnections()could query the server for this
583
+ (SHOW, see above)
584
+ getMaxCursorNameLength()32 hard-coded
585
+ getMaxSchemaNameLength()will be 32 when done
586
+ getMaxProcedureNameLength()32 hard-coded
587
+ getMaxCatalogNameLength()should be NAMEDATALEN
588
+ doesMaxRowSizeIncludeBlobs()since we don't have blobs, should
589
+ this throw an exception?
590
+ getMaxStatements()questionable, see comment there
591
+ getMaxTableNameLength()32 hard-coded
592
+ getMaxUserNameLength()32 hard-coded
593
+ getDefaultTransactionIsolation()This is configurable in 7.2.
594
+ (SHOW, see above)
595
+ getProcedures()missing catalog (database) and
596
+ remarks columns
597
+ getProcedureColumns()only dummy implementation
598
+ getTables()fails to handle pre-7.1 servers
599
+ (relkind 'v')
600
+ getSchemas()This should throw an exception.
601
+ getTableTypes()?
602
+ getColumns()?
603
+ getColumnPrivileges()not implemented
604
+ getTablePrivileges()not implemented
605
+ getBestRowIdentifier()only dummy implementation
606
+ getVersionColumns()not implemented
607
+ getPrimaryKeys()?
608
+ getImportedKeys()?
609
+ getExportedKeys()not implemented
610
+ getCrossReference()not implemented
611
+ getTypeInfo()?
612
+ getIndexInfo()?
613
+ getUDTs()?
614
+
615
+
616
+ --
617
+ Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
618
+
619
+
620
+ ---------------------------(end of broadcast)---------------------------
621
+ TIP 6: Have you searched our list archives?
622
+
623
+ http://www.postgresql.org/search.mpl
624
+