From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ee0dc912649d50d4 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit From: Brian May Newsgroups: comp.lang.ada Subject: Re: Ada DB bindings and APQ References: <1km3c584awura$.y7djkir1ozya$.dlg@40tude.net> Date: Wed, 15 Dec 2004 10:26:37 +1100 Message-ID: User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.3 (gnu/linux) Cancel-Lock: sha1:N5iH4lithB3ZiHJsg7oaAB76zNw= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: snoopy.microcomaustralia.com.au X-Trace: news.melbourne.pipenetworks.com 1103066772 202.173.153.89 (15 Dec 2004 09:26:12 +1000) X-Complaints-To: abuse@pipenetworks.com X-Abuse-Info: Please forward all headers to enable your complaint to be properly processed. Path: g2news1.google.com!news1.google.com!newsread.com!newsprint.newsread.com!news.glorb.com!newsfeed-east.nntpserver.com!nntpserver.com!news1.optus.net.au!optus!news.mel.connect.com.au!news-north.connect.com.au!duster.adelaide.on.net!news.melbourne.pipenetworks.com!not-for-mail Xref: g2news1.google.com comp.lang.ada:6950 Date: 2004-12-15T10:26:37+11:00 List-Id: >>>>> "Dmitry" == Dmitry A Kazakov writes: Dmitry> That's not OO, yet. It is rather typed vs untyped. It seems to me it has all the features of an OO system (encapsulation, abstraction, inheritance, etc). Rather the issue is that some design decisions have been made that you don't agree with. While I can see your point of view in issues such as the query type being independent of the query string, I can also understand the reasons behind doing it this way, and probably would have done the same thing myself. As far I can tell some of your goals of abstraction, while ideal, solutions may require more thought and research in order to make sure compatibility with all databases and to ensure your goals really are met. For instance, my ideal abstraction layer would completely hide the SQL layer completely but maintain the flexibility of the SQL layer. This I think would be really difficult to do, and I am not volunteering... It would mean that it could potentially work with any database, not just an SQL based database. Ok, back on planet Earth now, my sane and reasonable priorities for this project would be: 1. Factory for creating a connection based on a URL (see my previous message). I would be happy to start working on this if desired (note: I don't claim to be any expert on parsing strings in Ada...). (note: with 1 completed the next step some people will demand is plugins so you can support other database without recompilation. I personally don't think this is worth it at the moment, especially as APQ doesn't hide all differences in different databases). 2. Support for different character sets. I do not know what this would require, but it is a real problem that different database can have different character sets, and making assumptions isn't a good idea. Not only that, but in latest versions of mysql different tables within the same database can have different character sets. At the minimum I guess it should be possible to query what character set a table is encoded with (note: I don't know how to do this). 16 bit UTF support would be nice, but we have UTF8 in the meantime. 3. Support for other SQL based databases. Note I have this as the lowest priority... -- Brian May