aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db/mssql.php
Commit message (Collapse)AuthorAgeFilesLines
* 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-22/+1
| | | | | | | | | | | | | | | | | | 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/+14
| | | | | | | | | | | - 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
* oh boy...David M2008-01-031-8/+1
| | | | | | | - Migrate code base to PHP 5.1+ git-svn-id: file:///svn/phpbb/trunk@8295 89ea8834-ac86-4346-8a33-228a782c2dd0
* small fixMeik Sievertsen2007-10-121-1/+1
| | | | | | | - david: please review the mssql change git-svn-id: file:///svn/phpbb/trunk@8165 89ea8834-ac86-4346-8a33-228a782c2dd0
* dumdidum... sorry. ;)Meik Sievertsen2007-10-051-5/+5
| | | | git-svn-id: file:///svn/phpbb/trunk@8147 89ea8834-ac86-4346-8a33-228a782c2dd0
* #13874David M2007-07-301-1/+8
| | | | git-svn-id: file:///svn/phpbb/trunk@7981 89ea8834-ac86-4346-8a33-228a782c2dd0
* tweak the sql_like_expression feature a little bit to allow correct escapingMeik Sievertsen2007-06-241-11/+4
| | | | 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/+16
| | | | | | 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
* #12415David M2007-06-181-0/+2
| | | | git-svn-id: file:///svn/phpbb/trunk@7778 89ea8834-ac86-4346-8a33-228a782c2dd0
* - tiny changesDavid M2007-06-181-25/+12
| | | | git-svn-id: file:///svn/phpbb/trunk@7773 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
* - small MSSQL thingDavid M2007-03-041-1/+1
| | | | | | | - changed how we store tracking data git-svn-id: file:///svn/phpbb/trunk@7120 89ea8834-ac86-4346-8a33-228a782c2dd0
* - clean up mssql and mssql_odbc, mssql now uses a different method of ↵David M2007-02-191-7/+7
| | | | | | | | | | | | | 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
* i hope this helps a bit. :oMeik Sievertsen2007-01-291-1/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@6951 89ea8834-ac86-4346-8a33-228a782c2dd0
* ok, handled some bugs... the most important being validate_username (the ↵Meik Sievertsen2007-01-171-25/+18
| | | | | | 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
* blahDavid M2006-12-031-4/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@6707 89ea8834-ac86-4346-8a33-228a782c2dd0
* only works if you do it _before_ the connect :PDavid M2006-12-031-5/+5
| | | | git-svn-id: file:///svn/phpbb/trunk@6704 89ea8834-ac86-4346-8a33-228a782c2dd0
* - FreeTDS builds lets you specify a character set encoding, lets take ↵David M2006-12-031-0/+5
| | | | | | advantage of that git-svn-id: file:///svn/phpbb/trunk@6703 89ea8834-ac86-4346-8a33-228a782c2dd0
* this is hopeless, we just insert and hope for the best. thats all we can ↵David M2006-11-151-3/+0
| | | | | | really do... git-svn-id: file:///svn/phpbb/trunk@6587 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-57/+9
| | | | | | | | - 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-19/+15
| | | | | | 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
* - Oracle now works with large amounts of textDavid M2006-09-191-0/+3
| | | | | | | | - MSSQL now works :P (sans UTF-8 support) - The current schema files work well enough to install, etc. but must be tightened. Will get to it when I get some time... git-svn-id: file:///svn/phpbb/trunk@6381 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-9/+1
| | | | | | | | | | | 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-0/+8
| | | | | | | | | encoding of stuff. :D Acyd Burn: quit breaking the schema :P git-svn-id: file:///svn/phpbb/trunk@6238 89ea8834-ac86-4346-8a33-228a782c2dd0
* - acm_file uses an index pointer to the current row instead of shifting the ↵Nils Adermann2006-08-011-1/+35
| | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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/+22
| | | | | | | | | - 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
* 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
* - bugfix rollMeik Sievertsen2006-06-081-1/+9
| | | | | | | - fixed sql_query_limit on mssql/mssql_odbc git-svn-id: file:///svn/phpbb/trunk@6024 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-14/+14
| | | | | | | 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
* - fixing a few smaller bugs/glitchesMeik Sievertsen2006-05-211-1/+1
| | | | | | | | - init user session in cron.php (else it can produce errors if functions expect the user object being set) - fix sql escaping for mssql/mssql_odbc git-svn-id: file:///svn/phpbb/trunk@5957 89ea8834-ac86-4346-8a33-228a782c2dd0
* - seperate queries and cached queriesMeik Sievertsen2006-05-201-2/+9
| | | | | | | | | - 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
* - introduce new function build_url to easily build a valid url from the ↵Meik Sievertsen2006-05-121-4/+19
| | | | | | | | | | | | | | user->page object as well as optionally removing certain keys - changed attachment config to utilize the config build methods - cleaned up posting.php - the submit/delete_post functions are now usable (functions_posting.php) - adjusted header icons (transparency) - a bunch of fixes for mssql - bug fixes git-svn-id: file:///svn/phpbb/trunk@5902 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
* - Query explain now works for MSSQL, MSSQL-ODBC and PostgreSQLDavid M2006-04-231-0/+30
| | | | | | | - MSSQL schema now properly includes prefixes inside of all constraints git-svn-id: file:///svn/phpbb/trunk@5839 89ea8834-ac86-4346-8a33-228a782c2dd0
* - Forgot to remove a lang stringDavid M2006-04-181-3/+2
| | | | | | | | - Firebird! - Fixes for mssql and mssql-odbc git-svn-id: file:///svn/phpbb/trunk@5800 89ea8834-ac86-4346-8a33-228a782c2dd0
* - oopsieDavid M2006-04-181-2/+13
| | | | git-svn-id: file:///svn/phpbb/trunk@5794 89ea8834-ac86-4346-8a33-228a782c2dd0
* - Olympus now properly works with MS SQLDavid M2006-04-181-2/+3
| | | | | | | | - DB backup system handles MS SQL - A few bug fixes to the backup system ;) git-svn-id: file:///svn/phpbb/trunk@5793 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
* Efficiency changeGraham Eames2006-03-091-1/+1
| | | | git-svn-id: file:///svn/phpbb/trunk@5615 89ea8834-ac86-4346-8a33-228a782c2dd0
* - only minor adjustements (we are now able to use other functions due to the ↵Meik Sievertsen2006-02-161-3/+3
| | | | | | increased php requirements) git-svn-id: file:///svn/phpbb/trunk@5557 89ea8834-ac86-4346-8a33-228a782c2dd0
* - another try to break things. :)Meik Sievertsen2005-10-071-120/+75
| | | | | | | | - adjusted the dbal a little bit - removed db2 support git-svn-id: file:///svn/phpbb/trunk@5263 89ea8834-ac86-4346-8a33-228a782c2dd0