Re: [sqlite] Did OSCON tutorial get accepted for AUUG in oct?
Is it M6 you are referring to? http://www.auug.org.au/events/2005/auug2005/tutorials.html Regards. rayB |-+> | | Klint Gore | | | <[EMAIL PROTECTED]| | | u> | | || | | 10/08/2005 12:35 | | | Please respond to| | | sqlite-users | | || |-+> >--| | | | To: sqlite-users@sqlite.org | | cc: | | Subject: [sqlite] Did OSCON tutorial get accepted for AUUG in oct? | >--| Anyone know if the OSCON tutorial was accepted for AUUG2005? klint. +---+-+ : Klint Gore: "Non rhyming: : EMail : [EMAIL PROTECTED] : slang - the: : Snail : A.B.R.I.: possibilities : : Mail University of New England : are useless" : : Armidale NSW 2351 Australia : L.J.J. : : Fax : +61 2 6772 5376 : : +---+-+ ** PLEASE CONSIDER OUR ENVIRONMENT BEFORE PRINTING * *** Confidentiality and Privilege Notice *** This e-mail is intended only to be read or used by the addressee. It is confidential and may contain legally privileged information. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone, and you should destroy this message and kindly notify the sender by reply e-mail. Confidentiality and legal privilege are not waived or lost by reason of mistaken delivery to you. Qantas Airways Limited ABN 16 009 661 901 Visit Qantas online at http://qantas.com
Re: Re[8]: [sqlite] Accessing Database on Network
On Wed, 2005-08-10 at 00:30 +0200, djm wrote: > Hello, > > Henry> No. It might be on your particular systems, but we cannot make > Henry> a general case. It is possible that it will always be safe on > Henry> (for example) Windows 2000, while not safe on NT or XP! It > Henry> depends on how the OS handles caching. They are supposed to > Henry> check on each file access to see if the file changed, but > Henry> networks are slow, so they might not. Thus you could start > Henry> reading data that is in the cache, which is out of date. > > My understanding, after all of your helpful comments, currently is: > > Simultaneous reading of a server file by different clients is safe, as > long as the file doesnt get changed at all (at least in a time scale > where the Client Os could cache it). Remove your parenthesized exception and this is correct. > Updaing the file might cause > problems becuase of caching on the Client Os side, no matter how > cleanly and isolated this update was done (eg all clients off, and > update on server machine). (Im not sure I fully understand what terms > like "atomic and "durable" mean in this context but I presume Ive > gotten the jist?) This is correct. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cossdk/html/857d145c-710d-4097-8ed6-df11e8d52228.asp You should really know what atomic and durable mean. > The same applies to sqlite accesses since it just uses regular files. > And when you only querying the database (not changing the data), you > are just reading the database file .. ie sqlite doesnt do anything > which would break the clients only reading condition. > > Am I right so far? Almost. You make a distinction between Client and Server and I don't think you know who they are. It's helpful to understand that the server cannot update files. Ever. Only clients can update files. The server coordinates these updates. In reality, in many cases, the server coordinates fine. In others, it fails miserably. The file cannot be updated by anything but a server. If you rename() it on the "local machine" you are doing that rename as a client- at least as far as all of these statements about networked/distributed filesystems being unsafe are. > >> In my opinion system time stamps etc are not a reliable means of > >> comparing 2 files. Many things can change the timestamp of a file, > >> without changing the contents, and one (server) os/filesystem can > >> report a different file size to another (local) for the same file > >> (contents). As I said already, I think having a version number > >> embedded in the databse itself is much more relible. > > Mrs.> Wrong. The sqlite database is binary. Any size check is going to > Mrs.> be in 8-bit bytes and will always be the same- except for > Mrs.> platforms that SQLite doesn't run on- any comparison with a > Mrs.> system that doesn't have 8-bit bytes will have to be aware of > Mrs.> that fact. > > The size of a file depends for example on the cluster size of the > underlying partition. And regardless is of little value in comparing > two files; the same file size/name doesnt mean two files are > identical. The size of a file does not depend on the cluster size of the underlying partition. That's how much SPACE the file takes up. Whether or not your filesystem records the size of a file isn't important. The concept of file size exists, and it has nothing to do with clusters or blocks or extents. As a matter of fact, almost all filesystems record the correct file size. CP/M is a notable filesystem that does not. AFAIK, SQLite won't run in CP/M so this is moot. The test is not to determine whether or not the files are identical, but if one has been changed. This method will certainly download files when they haven't been changed (although it's unlikely). This unusual case wastes some bandwidth. In contrast to downloading it all the time, where you always waste bandwidth. > Mrs.> You still haven't said what platform you're developing for. > > Windown in particular, but also others. http://support.microsoft.com/kb/q163401/ http://support.microsoft.com/kb/q148367/ http://www.winguides.com/registry/display.php/1295/ WARNING: in this mode, SQLite will be much much slower than your earlier tests would indicate. others networked filesystems have other semantics. I'm not going to even try to list them all. > Mrs.> djm: You still haven't told us exactly what you're using. > > Im currently using C++ (Qt) but also plan to use php with sqlite for > other projjects. In either cases the app should be cross platform. If you're looking for cross-platform you need to select protocols that have well defined semantics. HTTP sounds like a good bet. Full file copy sounds like a better one.
Re: [sqlite] Did OSCON tutorial get accepted for AUUG in oct?
On Wed, Aug 10, 2005 at 12:35:27PM +1000, Klint Gore wrote: > Anyone know if the OSCON tutorial was accepted for AUUG2005? afaik it was but dr. hipp will not be the one giving it.
[sqlite] Did OSCON tutorial get accepted for AUUG in oct?
Anyone know if the OSCON tutorial was accepted for AUUG2005? klint. +---+-+ : Klint Gore: "Non rhyming: : EMail : [EMAIL PROTECTED] : slang - the: : Snail : A.B.R.I.: possibilities : : Mail University of New England : are useless" : : Armidale NSW 2351 Australia : L.J.J. : : Fax : +61 2 6772 5376 : : +---+-+
Re[8]: [sqlite] Accessing Database on Network
Hello, Henry> No. It might be on your particular systems, but we cannot make Henry> a general case. It is possible that it will always be safe on Henry> (for example) Windows 2000, while not safe on NT or XP! It Henry> depends on how the OS handles caching. They are supposed to Henry> check on each file access to see if the file changed, but Henry> networks are slow, so they might not. Thus you could start Henry> reading data that is in the cache, which is out of date. My understanding, after all of your helpful comments, currently is: Simultaneous reading of a server file by different clients is safe, as long as the file doesnt get changed at all (at least in a time scale where the Client Os could cache it). Updaing the file might cause problems becuase of caching on the Client Os side, no matter how cleanly and isolated this update was done (eg all clients off, and update on server machine). (Im not sure I fully understand what terms like "atomic and "durable" mean in this context but I presume Ive gotten the jist?) The same applies to sqlite accesses since it just uses regular files. And when you only querying the database (not changing the data), you are just reading the database file .. ie sqlite doesnt do anything which would break the clients only reading condition. Am I right so far? >> In my opinion system time stamps etc are not a reliable means of >> comparing 2 files. Many things can change the timestamp of a file, >> without changing the contents, and one (server) os/filesystem can >> report a different file size to another (local) for the same file >> (contents). As I said already, I think having a version number >> embedded in the databse itself is much more relible. Mrs.> Wrong. The sqlite database is binary. Any size check is going to Mrs.> be in 8-bit bytes and will always be the same- except for Mrs.> platforms that SQLite doesn't run on- any comparison with a Mrs.> system that doesn't have 8-bit bytes will have to be aware of Mrs.> that fact. The size of a file depends for example on the cluster size of the underlying partition. And regardless is of little value in comparing two files; the same file size/name doesnt mean two files are identical. Mrs.> You still haven't said what platform you're developing for. Windown in particular, but also others. Mrs.> djm: You still haven't told us exactly what you're using. Im currently using C++ (Qt) but also plan to use php with sqlite for other projjects. In either cases the app should be cross platform. Best regards, djmmailto:[EMAIL PROTECTED]
Re: [sqlite] RFC Beginning digit in column name
> Does MySQL allows [0_xy] to specify column names? > > If I remember correctly, that is the standard SQL way to have columns > with spaces in the middle, and sqlite allows columns starting with a > digit in this way... It's not standard; it's a Microsoft extension. Regards
Re: [sqlite] RFC Beginning digit in column name
On 8/9/05, Nuno Lucas <[EMAIL PROTECTED]> wrote: > [09-08-2005 19:05, ender escreveu] > [...] >> So my simple feature request would be: allow '`' as a quoting >> symbol - as mySQL does. Or - what would be as helpful as the >> other idea - allow unquoted column names with leading digits - as >> mySQL does. > Does MySQL allows [0_xy] to specify column names? I don't think so. > If I remember correctly, that is the standard SQL way to have > columns with spaces in the middle, and sqlite allows columns > starting with a digit in this way... I'm not sure that it's a standard. I know Microsoft SQL Server and Access DB use it, but from what I recall of the SQL92 standard, only double quotes ("0_xy") are permitted for case-sensitive or otherwise abnormal table and column names. Tables specified without this are to be treated as uppercase only. -austin -- Austin Ziegler * [EMAIL PROTECTED] * Alternate: [EMAIL PROTECTED]
Re: [sqlite] RFC Beginning digit in column name
At 8:46 PM +0100 8/9/05, Nuno Lucas wrote: [09-08-2005 19:05, ender escreveu] [...] So my simple feature request would be: allow '`' as a quoting symbol - as mySQL does. Or - what would be as helpful as the other idea - allow unquoted column names with leading digits - as mySQL does. Does MySQL allows [0_xy] to specify column names? If I remember correctly, that is the standard SQL way to have columns with spaces in the middle, and sqlite allows columns starting with a digit in this way... Regards, ~Nuno Lucas The SQL standard has both delimited and bareword identifiers. Bareword identifiers can only be letters, numbers, and underscore, and start with a letter, to my knowledge; they are also case-insensitive. Delimited identifiers can have any characters in them, including spaces, and they are delimited with double-quotes (") usually. The standard may allow other delimiting characters, but I'm not sure. I imagine that back-ticks (`) may be safe to support if they aren't already used by SQL in some other way. You certainly don't want to use single-quotes (') as those are always literal string delimiters. You also don't want to use brackets ([]) as those are used by the standard for array indices. I suggest for simplicity that SQLite simply support single-quotes for string delimiters and double-quotes for identifiers; clearly distinct and simple. -- Darren Duncan
Re: [sqlite] RFC Beginning digit in column name
[09-08-2005 19:05, ender escreveu] [...] > So my simple feature request would be: allow '`' as a quoting symbol - > as mySQL does. Or - what would be as helpful as the other idea - allow > unquoted column names with leading digits - as mySQL does. Does MySQL allows [0_xy] to specify column names? If I remember correctly, that is the standard SQL way to have columns with spaces in the middle, and sqlite allows columns starting with a digit in this way... Regards, ~Nuno Lucas
Re: [sqlite] RFC Beginning digit in column name
On 8/9/05, ender <[EMAIL PROTECTED]> wrote: > > Dear developers, > > a while back, our project decided to switch from mysql to usage of > various SQL backends, among this sqlite3 as our favorite. Now recently > we encountered a problem, just a tiny one, but one we are not able to > solve with all used SQl backends in a common sense. > > The problem arised within a table that had a column called '0_uid'. As > you might guess, the problem comes from the beginning digit in the > column name. I looked arround quite a while and learned, that it was > pure luck that we haven't had problems with that so far - as we relied > upon an SQL extension that mySQL offered. After some reading and trying > I found out, that sqlite3 also was able to handle such columns, but the > column name has to be quoted. Ok, that sounds fair - BUT I had to learn > one sad thing... mySQL and sqlite3 don't agree upon a common subset of > symbols to quote. Whilest the one accepts ' and ", the other relies upon `. > > So my simple feature request would be: allow '`' as a quoting symbol - > as mySQL does. Or - what would be as helpful as the other idea - allow > unquoted column names with leading digits - as mySQL does. > Also see ticket # 1337 http://www.sqlite.org/cvstrac/tktview?tn=1337 I think that supporting '`' (backquote) would be a bad idea. Then again, MySQL ignores so much of the SQL standard that I think that importing any idea from MySQL is a bad idea. -austin -- Austin Ziegler * [EMAIL PROTECTED] * Alternate: [EMAIL PROTECTED]
[sqlite] RFC Beginning digit in column name
Dear developers, a while back, our project decided to switch from mysql to usage of various SQL backends, among this sqlite3 as our favorite. Now recently we encountered a problem, just a tiny one, but one we are not able to solve with all used SQl backends in a common sense. The problem arised within a table that had a column called '0_uid'. As you might guess, the problem comes from the beginning digit in the column name. I looked arround quite a while and learned, that it was pure luck that we haven't had problems with that so far - as we relied upon an SQL extension that mySQL offered. After some reading and trying I found out, that sqlite3 also was able to handle such columns, but the column name has to be quoted. Ok, that sounds fair - BUT I had to learn one sad thing... mySQL and sqlite3 don't agree upon a common subset of symbols to quote. Whilest the one accepts ' and ", the other relies upon `. So my simple feature request would be: allow '`' as a quoting symbol - as mySQL does. Or - what would be as helpful as the other idea - allow unquoted column names with leading digits - as mySQL does. Also see ticket # 1337 http://www.sqlite.org/cvstrac/tktview?tn=1337
[sqlite] Equivalent for "SHOW FIELDS"
Does SQLite provide an equivalent for the mysql "SHOW FIELDS" function that provides data type information about all fields in a table ? We need this feature to dynamically create/alter tables structure without requiring user interaction. smime.p7s Description: S/MIME Cryptographic Signature
[sqlite] ANALYZE command
Hi, I recently downloaded sqlite source code via cvs repository. In this source, I found out a new command which name is "ANALYZE". (analyze.c) It's like the oracle ANALYZE command, right ? Please tell me more about it and how to use. Sencerely, Mikio Kishi