@@ -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
+
0 commit comments