aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db/sqlite.php
Commit message (Collapse)AuthorAgeFilesLines
* Get real dbms version instead of relying on php internal functions which ↵Meik Sievertsen2008-09-041-3/+16
| | | | | | only grab the local library version git-svn-id: file:///svn/phpbb/trunk@8821 89ea8834-ac86-4346-8a33-228a782c2dd0
* Merge in r8758, r8807, r8808, r8809Chris Smith2008-09-021-1/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@8810 89ea8834-ac86-4346-8a33-228a782c2dd0
* ok... i hope i haven't messed too much with the code and everything is still ↵Meik Sievertsen2008-05-291-1/+1
| | | | | | | | | | working. Changes: - Ascraeus now uses constants for the phpbb root path and the php extension. This ensures more security for external applications and modifications (no more overwriting of root path and extension possible through insecure mods and register globals enabled) as well as no more globalizing needed. - A second change implemented here is an additional short-hand-notation for append_sid(). It is allowed to omit the root path and extension now (for example calling append_sid('memberlist')) - in this case the root path and extension get added automatically. The hook is called after these are added. git-svn-id: file:///svn/phpbb/trunk@8572 89ea8834-ac86-4346-8a33-228a782c2dd0
* Some neat stuff, the new DBAL function has the potential of removing ↵David M2008-04-021-0/+15
| | | | | | | | | | | | | somewhere in the ballpark of 40% of all the DBAL code. It combines a few very common idioms into one statement, allowing us to implicitly use prepared statements. Short term advantages are the ability to remove the gross code that attempts to work around DB2, Oracle and Firebird. Long term advantages include removing the burden of sanitizing data (at least on input) from our end and placing it on shoulders of the backend PHP driver. Also included is a new posting API I am working on. It is not a real API in so much as it is a backend that a "nice" API could use. User submitted functions are welcome :) It represents a massive simplification in post and topic accounting and a generalization of concepts like "soft deletion" as it works across both topics and posts (yes, this has preliminary support for soft deletions). The only "interesting" problem left is global topics, this has yet to be solved. Enough talk, time for sleep. P.S. Sorry if I broke stuff, was not done on purpose :) git-svn-id: file:///svn/phpbb/trunk@8485 89ea8834-ac86-4346-8a33-228a782c2dd0
* Alright, this should give some improved performance :)David M2008-02-031-21/+0
| | | | | | | | | | | | | | | | | | This is the end of random seek access to rows. If you have a compelling reason as to why they should stay, contact me. Else, they are gone forevermore... The following API calls are deprecated: acm::sql_rowseek() -> no replacement $db->sql_fetchfield($field, $rownum = false, $query_id = false) -> $db->sql_fetchfield($field, $query_id = false) Initial tests show that phpBB3 over four percent of memory against phpBB3.1 on an empty board. So far so good :) Other cool things: db2, MS SQL ODBC and MS SQL 2005 all use less memory because they do not need to reference the last executed query to handle random access seeks :) P.S. The crazy people using SVN: please report any issues with the new way we itterate through caches, I do not want to miss anything :) git-svn-id: file:///svn/phpbb/trunk@8372 89ea8834-ac86-4346-8a33-228a782c2dd0
* - a few tiny clean upsDavid M2008-01-071-0/+2
| | | | | | | - a new MS SQL DBAL, it does not work so hot because of issues with the extension it depends on git-svn-id: file:///svn/phpbb/trunk@8313 89ea8834-ac86-4346-8a33-228a782c2dd0
* Ch-ch-ch-changesDavid M2008-01-041-0/+20
| | | | | | | | | | | - Made us more DB independent by making many queries capability based instead of DB specific - Finished PHP5ifying of the acm_file class, now with some (hopefully) enhancements to its performance - Sped up viewforum considerably (also goes towards mcp_forum) I really hope I didn't explode CVS... git-svn-id: file:///svn/phpbb/trunk@8301 89ea8834-ac86-4346-8a33-228a782c2dd0
* dumdidum... sorry. ;)Meik Sievertsen2007-10-051-6/+6
| | | | git-svn-id: file:///svn/phpbb/trunk@8147 89ea8834-ac86-4346-8a33-228a782c2dd0
* tweak the sql_like_expression feature a little bit to allow correct escapingMeik Sievertsen2007-06-241-5/+7
| | | | git-svn-id: file:///svn/phpbb/trunk@7789 89ea8834-ac86-4346-8a33-228a782c2dd0
* new wrapper for LIKE expressions to streamline the fixes. We actually need ↵Meik Sievertsen2007-06-231-0/+14
| | | | | | to adjust them for different DBMS as well as SQLite2 not supporting escaping characters in LIKE statements (which is a reason why we think about dropping sqlite support completely). git-svn-id: file:///svn/phpbb/trunk@7788 89ea8834-ac86-4346-8a33-228a782c2dd0
* correctly re-assign query resultMeik Sievertsen2007-06-121-1/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@7753 89ea8834-ac86-4346-8a33-228a782c2dd0
* - clean up mssql and mssql_odbc, mssql now uses a different method of ↵David M2007-02-191-1/+1
| | | | | | | | | | | | | dealing with IDENTITY - clean up firebird, I will consider changing it to use fetch array instead of fetch object. it's identity code already uses this method as of right... now :D - fix a tiny bug in MySQL's driver (remember to pass the connect id to all DBAL functions) - add new_link as a new param for sql_connect. This allows you to make connections that are not dependant on each other. This is done for our friends mysql, mssql, postgresql and oracle. Now for everybody else.. (I said this was clever ;) MySQLi and SQLite should always spawn a new connection when you call it while mssql_odbc and firebird both will create new links if you give them different params (different creds) than the previous connection(s). Thus we can always promise new links :D - fixed a bug in the converter - cleaned up the dbal a little git-svn-id: file:///svn/phpbb/trunk@7009 89ea8834-ac86-4346-8a33-228a782c2dd0
* ok, handled some bugs... the most important being validate_username (the ↵Meik Sievertsen2007-01-171-16/+9
| | | | | | variable passed to validate_data([...]array('username', [...])) and updating group listings while doing relevant group actions. Oh, and PM icons are working now. :o git-svn-id: file:///svn/phpbb/trunk@6894 89ea8834-ac86-4346-8a33-228a782c2dd0
* - store sql_layer directly within the layer itselfMeik Sievertsen2006-10-141-11/+2
| | | | | | | | - new method sql_multi_insert to circumvent db-specific hacks (hopefully not introduced any parsing errors) git-svn-id: file:///svn/phpbb/trunk@6497 89ea8834-ac86-4346-8a33-228a782c2dd0
* - finally removed sql_numrowsMeik Sievertsen2006-10-041-59/+5
| | | | | | | | - sql_fetchfield now in dbal.php - check query id correctly as well as other tiny fixes git-svn-id: file:///svn/phpbb/trunk@6439 89ea8834-ac86-4346-8a33-228a782c2dd0
* - query id can be zero [Bug #4584]Nils Adermann2006-10-031-1/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@6438 89ea8834-ac86-4346-8a33-228a782c2dd0
* made sql_rowseek consistent with the dbal methods as well as fixing ↵Meik Sievertsen2006-09-231-1/+1
| | | | | | sql_query_limit for mssql, especially if sql_query_limit($sql, 0, 0) is given... git-svn-id: file:///svn/phpbb/trunk@6389 89ea8834-ac86-4346-8a33-228a782c2dd0
* some updates. Also adjusted the utf tools and normalizer more to our coding ↵Meik Sievertsen2006-08-221-5/+5
| | | | | | guidelines. git-svn-id: file:///svn/phpbb/trunk@6312 89ea8834-ac86-4346-8a33-228a782c2dd0
* so.... what does this thing do?David M2006-08-111-41/+0
| | | | | | | | | | | well, the super fast, ultra efficient, massively huge BBCode handling system was implemented differently on each DBMS. Although this provided the best performance, the solution was a bit hacky. So what does this new thing do? We use base64 encoding to make everything nice and shiny, it turns into nice, safe characters that we can just jam into varchars on essentially any database. This has two implications: we must decode every bitfield we get AND we have slightly fewer IDs to work with. It goes down from 2040 BBCodes to 1512. We lose like a quarter of them :P P.S. I hope nothing broke :P git-svn-id: file:///svn/phpbb/trunk@6263 89ea8834-ac86-4346-8a33-228a782c2dd0
* This should end some issues we have been having regarding the proper binary ↵David M2006-08-061-1/+18
| | | | | | | | | encoding of stuff. :D Acyd Burn: quit breaking the schema :P git-svn-id: file:///svn/phpbb/trunk@6238 89ea8834-ac86-4346-8a33-228a782c2dd0
* - fixed some bugsMeik Sievertsen2006-08-051-0/+1
| | | | | | | | | - made imageset naming more consistent - updated every schema to be consistent and also fixed it (every db should install fine now) - git-svn-id: file:///svn/phpbb/trunk@6237 89ea8834-ac86-4346-8a33-228a782c2dd0
* - acm_file uses an index pointer to the current row instead of shifting the ↵Nils Adermann2006-08-011-6/+42
| | | | | | | | | | | | | | result array now [Bug #2451] - all dbals adjusted to use the cache in sql_fetchfield, sql_rowseek, sql_numrows and sql_freeresult [Bug #2451] - use include_once for dbal.php to at least theoretically allow connections to multiple databases at once - added a space to an SQL query [Bug #3506] - detailed information on adding friends/foes [Bugs #2509, #2499] - e modifier stands for evil, so I removed it ;-) - corrected progress_bar image filename in imageset.cfg [Bug #3374] git-svn-id: file:///svn/phpbb/trunk@6225 89ea8834-ac86-4346-8a33-228a782c2dd0
* OK...David M2006-07-241-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | This commit should increase the total number of BBCodes from 31 to 2040. Some things to watch out for: Each database likes to deal with binary data in its own, special way. They are, quite frankly, too cool for school. MySQL, MSSQL and Oracle all allow me to send in a default value for their binary column using a hex number. However, MSSQL forces me to send the specific data as a hex number and thus we must CAST it. PostgreSQL allows me to set a binary column, but with a twist. It demands that the default be in _octal_ and its datatype allows somewhere around a gigabyte's worth of BBCodes ( PGSQL users, we shut you down to 2040 for your own good! ) Firebird has no decent mechanism for allowing me to shuttle in binary data so I must force my way in. By virtue of triggers and a UDF, we ram in our default values. SQLite is the most bizarre of them all. They have no mechanism for turning an ASCII code into a ASCII character. Because of this, we have a trigger and a UDF (just like Firebird!) but with a twist! The UDF is defined on the PHP side of things instead of SQL. SQLite also demands that it's data be encoded before being sent off. Other notes: - SQLite installs again :D - Firebird nearly installs again :P - Database backup is not screwed up :P P.S. I hope nothing broke :D git-svn-id: file:///svn/phpbb/trunk@6209 89ea8834-ac86-4346-8a33-228a782c2dd0
* - tackle some usability issuesMeik Sievertsen2006-07-091-0/+8
| | | | | | | | | - fix bug #3147 - added the lock-images made by SHS` - fixed MSSQL errors (adding the correct ESCAPE sequence) git-svn-id: file:///svn/phpbb/trunk@6161 89ea8834-ac86-4346-8a33-228a782c2dd0
* - SQLite handling in custom profilesDavid M2006-06-171-1/+1
| | | | | | | | - Removed an extra ';' - Install works with SQLite again git-svn-id: file:///svn/phpbb/trunk@6082 89ea8834-ac86-4346-8a33-228a782c2dd0
* make sure custom profile fields are created correctly on registration (#2225)Meik Sievertsen2006-06-131-6/+6
| | | | git-svn-id: file:///svn/phpbb/trunk@6058 89ea8834-ac86-4346-8a33-228a782c2dd0
* ok, this one is rather large... the most important change:Meik Sievertsen2006-06-061-17/+7
| | | | | | | | | re-introduce append_sid: old style continues to work, not a performance hog as it was in 2.0.x -> structure is different apart from this, code cleanage, bug fixing, etc. git-svn-id: file:///svn/phpbb/trunk@6015 89ea8834-ac86-4346-8a33-228a782c2dd0
* some adjustmentsMeik Sievertsen2006-06-021-12/+11
| | | | | | | nils: please have a look at the @todo comment in mcp_queue.php git-svn-id: file:///svn/phpbb/trunk@6002 89ea8834-ac86-4346-8a33-228a782c2dd0
* - seperate queries and cached queriesMeik Sievertsen2006-05-201-2/+1
| | | | | | | | | - display correct read/unread information while displaying active topics - fix for SELECT DISTINCT in mssql using sql_query_limit - fix for forum updating in ACP using mssql (and probably other dbal having problems with primary keys in updates) git-svn-id: file:///svn/phpbb/trunk@5940 89ea8834-ac86-4346-8a33-228a782c2dd0
* I hope nothing broke!David M2006-05-051-1/+9
| | | | | | | | | - Added a query builder, it is currently only used for complex queries that involve a FROM clause with two tables and a left join - Changed some function calls in the DBAL - Made the viewtopic queries nicer git-svn-id: file:///svn/phpbb/trunk@5885 89ea8834-ac86-4346-8a33-228a782c2dd0
* - Bug 1183David M2006-03-221-2/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@5685 89ea8834-ac86-4346-8a33-228a782c2dd0
* - add our beloved in_phpbb checkMeik Sievertsen2006-03-191-0/+7
| | | | git-svn-id: file:///svn/phpbb/trunk@5670 89ea8834-ac86-4346-8a33-228a782c2dd0
* - fix some bugs...Meik Sievertsen2006-03-171-1/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@5643 89ea8834-ac86-4346-8a33-228a782c2dd0
* - SQLite is now usable; we died on certain queries as well as a schema issue ↵David M2006-03-161-2/+3
| | | | | | (I took the liberty of applying some RegEx-Fu to the parser :D) git-svn-id: file:///svn/phpbb/trunk@5638 89ea8834-ac86-4346-8a33-228a782c2dd0
* - another try to break things. :)Meik Sievertsen2005-10-071-73/+72
| | | | | | | | - adjusted the dbal a little bit - removed db2 support git-svn-id: file:///svn/phpbb/trunk@5263 89ea8834-ac86-4346-8a33-228a782c2dd0
* - changed dbal class layoutMeik Sievertsen2005-08-171-152/+9
| | | | git-svn-id: file:///svn/phpbb/trunk@5193 89ea8834-ac86-4346-8a33-228a782c2dd0
* - updated oracle schema/db filesMeik Sievertsen2005-05-051-101/+182
| | | | | | | - updated sqlite schema/db files git-svn-id: file:///svn/phpbb/trunk@5141 89ea8834-ac86-4346-8a33-228a782c2dd0
* tiny fixesMeik Sievertsen2005-04-201-2/+2
| | | | git-svn-id: file:///svn/phpbb/trunk@5128 89ea8834-ac86-4346-8a33-228a782c2dd0
* - added updated coding guidelinesMeik Sievertsen2005-04-101-1/+1
| | | | | | | | - introduced is_registered and is_bot flags for correct determinition of guest/registered/bot users - changed bot code to act on useragent || ip git-svn-id: file:///svn/phpbb/trunk@5117 89ea8834-ac86-4346-8a33-228a782c2dd0
* - Documentation related changesMeik Sievertsen2005-04-091-20/+16
| | | | | | | | | | - added resend activation email dialog - fixed issue in session code - log failed/successful admin re-authentication/login - fixed simple forum dropdown box (used in mcp and posting) git-svn-id: file:///svn/phpbb/trunk@5114 89ea8834-ac86-4346-8a33-228a782c2dd0
* - and my second attemptMeik Sievertsen2005-03-211-6/+6
| | | | git-svn-id: file:///svn/phpbb/trunk@5109 89ea8834-ac86-4346-8a33-228a782c2dd0
* show correct SQL error message if failed during a transaction...Meik Sievertsen2004-02-031-5/+6
| | | | git-svn-id: file:///svn/phpbb/trunk@4788 89ea8834-ac86-4346-8a33-228a782c2dd0
* Insert @ supressionPaul S. Owen2003-07-041-19/+19
| | | | git-svn-id: file:///svn/phpbb/trunk@4200 89ea8834-ac86-4346-8a33-228a782c2dd0
* Note that there are still some queries in CVS which cause SQLite to have a ↵Paul S. Owen2003-07-011-1/+1
| | | | | | minor fit, these are "generally" fixed locally on my machine ... will commit when other bits and pieces are "done" ... hopefully ... perhaps ... good grief, it's nearly 3am again ... 10 years ago I could do these late nights/early mornings, bah git-svn-id: file:///svn/phpbb/trunk@4189 89ea8834-ac86-4346-8a33-228a782c2dd0
* SQLite supportPaul S. Owen2003-06-301-0/+390
git-svn-id: file:///svn/phpbb/trunk@4187 89ea8834-ac86-4346-8a33-228a782c2dd0