On Jun 29, 2007, at 8:34 AM, Mark Hatle wrote:

For the case w/o db3 header being available, there is the "db_emu.h"
file. Put that value in there, and it is supposed to be picked up if db
items are not defined.


Before we go off and reinvent the wheel again again again ...

I realize y'all hate Berkeley DB.

But so far there are only 2 usage cases for rpm w/o Berkeley DB:

    1) licensing. certain companies are too cheap to buy a license
    2) embedded tool chains.

There is plain and simply no other justifiable usage case for rpm w/o
Berkeley DB that I have heard.

The current sqlite implementation "works", but the schema is a total hack,
the implementation was never finished to handle essential flags like
temporary databases, the configuration parameters have never been seriously,
explored, and there are serious design issues buckling a sql database
underneath the durrent dbiFoo() vectors.

All of which you know well.

So can we please start from a design POV rather than hacks on hacks on hacks?

FIrst of all, what is the usage case?

Putting a rpmdb on NFS? sunrpc does that, so does using fcntl locking.

Avoiding the "horrors" of NPTL? Sorry, NPTL is here to stay on linux,
and posix shared mutexes are "standard" and hence likely to be more
portable than any other locking scheme.

Name your usage case(s) please.

73 de Jeff

--Mark

Ralf S. Engelschall wrote:
On Thu, Jun 28, 2007, Mark Hatle wrote:

Is "TEMPORARY TABLE" something special?  I knew about the :memory:
before, but not the other.

Excerpt from http://www.sqlite.org/lang_createtable.html:

   If the "TEMP" or "TEMPORARY" keyword occurs in between "CREATE"
   and "TABLE" then the table that is created is only visible within
that same database connection and is automatically deleted when the
   database connection is closed. Any indices created on a temporary
table are also temporary. Temporary tables and indices are stored in
   a separate file distinct from the main database file.

Otherwise this looks good to me. It may even speed things up slightly.

But before I can commit I at least wish to find a better approach for
the DB_PRIVATE value. The current hack is not the best since sliced
bread:

+#if defined(WITH_SQLITE) && !defined(DB_PRIVATE)
+#define DB_PRIVATE 0x0200000 /* shameless hack for shared option */
+#endif

                                       Ralf S. Engelschall
                                       [EMAIL PROTECTED]
                                       www.engelschall.com

_____________________________________________________________________ _ RPM Package Manager http:// rpm5.org Developer Communication List rpm- [EMAIL PROTECTED]

______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to