Re: [sqlite] SQLite & NHibernate

2011-03-27 Thread Nico Williams
On Sat, Mar 26, 2011 at 8:56 PM, Patrick Earl  wrote:
> 1.  Support for a base-10 numeric data type.

Looking at the wikipedia page for NHibernate it seems that you don't
export a SQL interface -- all SQL is generated.  So, given that, you
should be able to generate SQLite3 statements that use user-defined
functions for handling bignums.  There have been other threads on this
topic recently.

> 2.  Support for altering tables (especially the removal or addition of
> foreign keys).  Granted, tables can be updated by turning off foreign
> key constraints, copying all data, manually checking foreign key
> consistency, and then turning on foreign key constraints again.  Not
> having the ability to alter tables ultimately leads to a great of
> complexity in any system that has to deal with updating database
> schemas.

If it's just foreign keys you could just generate/drop triggers (there
used to be a program for that).  Actually, most table constraints can
be implemented via triggers (CHECK? check; FOREIGN KEY? check; UNIQUE?
check!); only collation can't be handled via triggers.

> 3.  FULL OUTER JOIN support.  There are work-arounds, but implementing
> those as part of NHibernate proved quite complicated, so I opted to
> wait unless there seems to be extreme demand for it.

You could always use a UNION to emulate FULL OUTER JOIN (a UNION of
two LEFT OUTER JOINs with the tables swapped).  Support in the engine
could probably be significantly more efficient than that.

> 4.  Some sort of locate function to get the index of substring within
> another string.  I couldn't even find any way to emulate this (aside
> from user defined functions).

You can define that yourself.

> 5.  Support for operations like "= all (subquery)", "= some
> (subquery)", and "= any (subquery)".

What's that?

> 6.  Better support for distributed transactions.  I don't pretend to
> be an expert here, but it seems plausible that SQLite could
> participate in a transaction across multiple databases.  Perhaps
> implementing two phase commit would help with this.

If by distributed you mean "client/server" then SQLite3 is likely not
for you (but there are third party
projects that add a networked layer above SQLite).  In any case,
SQLite3 does do two-phase commits (and provides ACID semantics).

Nico

PS: I'm just a SQLite3 fan.  My comments above you be taken with salt.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] SQLite & NHibernate

2011-03-26 Thread Patrick Earl
Greetings.

I'm a committer for NHibernate who has been working on improving the
support for SQLite.  I've been able to get most of the over 3000 tests
passing on SQLite.  Kudos to Richard and the team for producing such
an impressive little database.  I wanted to share with you the main
limitations I found on this journey in the hopes that some day they
will no longer be limitations.  They are ordered by my view on their
importance.

1.  Support for a base-10 numeric data type.
2.  Support for altering tables (especially the removal or addition of
foreign keys).  Granted, tables can be updated by turning off foreign
key constraints, copying all data, manually checking foreign key
consistency, and then turning on foreign key constraints again.  Not
having the ability to alter tables ultimately leads to a great of
complexity in any system that has to deal with updating database
schemas.
3.  FULL OUTER JOIN support.  There are work-arounds, but implementing
those as part of NHibernate proved quite complicated, so I opted to
wait unless there seems to be extreme demand for it.
4.  Some sort of locate function to get the index of substring within
another string.  I couldn't even find any way to emulate this (aside
from user defined functions).
5.  Support for operations like "= all (subquery)", "= some
(subquery)", and "= any (subquery)".
6.  Better support for distributed transactions.  I don't pretend to
be an expert here, but it seems plausible that SQLite could
participate in a transaction across multiple databases.  Perhaps
implementing two phase commit would help with this.

Thanks for your consideration.

Patrick Earl
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] NHibernate

2006-03-27 Thread Bert Verhees

Robert Simpson wrote:


- Original Message - From: "Bert Verhees" <[EMAIL PROTECTED]>
To: 
Sent: Monday, March 27, 2006 9:27 AM
Subject: [sqlite] NHibernate


Hi, I am trying about whole day to connect a Delphi.NET app over 
NHibernate to SQLite.


I cannot get it done.

I have following App.config (in the exe-directory)



I'm afraid you'll have to ask about this on the nHibernate forums.  
Most of the people on this list are concerned with the core sqlite 
engine itself and not the wrappers and O/R mappers built on top of it.


Robert


It is free to ask, my mother always told me, and in a sqlite user list 
there is a possibility that people had to solve the same problem.
But since I got no reaction, I am afraid yoy could be right, and I will 
also try elsewhere


regards
Bert Verhees










Re: [sqlite] NHibernate

2006-03-27 Thread Robert Simpson
- Original Message - 
From: "Bert Verhees" <[EMAIL PROTECTED]>

To: 
Sent: Monday, March 27, 2006 9:27 AM
Subject: [sqlite] NHibernate


Hi, I am trying about whole day to connect a Delphi.NET app over 
NHibernate to SQLite.


I cannot get it done.

I have following App.config (in the exe-directory)



I'm afraid you'll have to ask about this on the nHibernate forums.  Most of 
the people on this list are concerned with the core sqlite engine itself and 
not the wrappers and O/R mappers built on top of it.


Robert




[sqlite] NHibernate

2006-03-27 Thread Bert Verhees
Hi, I am trying about whole day to connect a Delphi.NET app over 
NHibernate to SQLite.


I cannot get it done.

I have following App.config (in the exe-directory)



 
type="System.Configuration.NameValueSectionHandler, System, 
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

   />
 
 
   value="NHibernate.Driver.SQLiteDriver" />
   value="NHibernate.Connection.DriverConnectionProvider" />
   value="NHibernate.Dialect.SQLiteDialect" />
   

   
  


and this code
 cfg := Configuration.Create;
 cfg.AddAssembly('nhibernate');
--->  factory := cfg.BuildSessionFactory; <--
 session := factory.OpenSession;
session.BeginTransaction;

The error message appears on the errors

---
Project4
---
The hibernate.connection.driver_class must be specified in the 
NHibernate configuration section.

---
OK  
---


I am using the Finisar SQLite ADO-driver, which is used to build 
NHibernate (one can see in the code)


Someone have an idea?

Thanks in advance.