1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-11 01:55:24 +02:00

63 Commits

Author SHA1 Message Date
Meik Sievertsen
2e17e448de Copy 3.0.x branch to trunk
git-svn-id: file:///svn/phpbb/trunk@10211 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-10-04 18:14:59 +00:00
Meik Sievertsen
bf8ac19eaa Move trunk/phpBB to old_trunk/phpBB
git-svn-id: file:///svn/phpbb/trunk@10210 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-10-04 18:13:59 +00:00
Meik Sievertsen
270fd1f5f8 Oracle support
git-svn-id: file:///svn/phpbb/trunk@9288 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-01-21 17:06:38 +00:00
Meik Sievertsen
a39e879300 fix postcount resync for situations where low and high post ids are higher than step value, resulting in users having 0 posts. (Bug #38195)
Enforce a requirement for some DBMS (Oracle, PostgreSQL, MSSQL) where the table order is quite important in some situations. ;) Since this does not affect the operation of the other DBMS the code is placed into dbal.php.


git-svn-id: file:///svn/phpbb/trunk@9176 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-12-05 11:21:01 +00:00
Meik Sievertsen
9a7804cb71 [Change] Remove NUL-Bytes directly in request_var() for strings and within the custom DBAL sql_escape() functions (MSSQL, Firebird, Oracle) (reported by AdhostMikeSw)
git-svn-id: file:///svn/phpbb/trunk@8968 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-10-02 12:05:13 +00:00
Meik Sievertsen
3a330753f4 Get real dbms version instead of relying on php internal functions which only grab the local library version
git-svn-id: file:///svn/phpbb/trunk@8821 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-09-04 14:10:03 +00:00
Chris Smith
f2abefeaed Merge in r8758, r8807, r8808, r8809
git-svn-id: file:///svn/phpbb/trunk@8810 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-09-02 13:36:48 +00:00
Meik Sievertsen
2f4a618900 ok... i hope i haven't messed too much with the code and everything is still 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
2008-05-29 12:25:56 +00:00
David M
2deee69e2f Some neat stuff, the new DBAL function has the potential of removing 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
2008-04-02 08:28:21 +00:00
David M
7b262babcd Alright, this should give some improved performance :)
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
2008-02-03 10:19:04 +00:00
David M
b9b46a8b45 - phpBB now uses a less ancient version of Oracle
git-svn-id: file:///svn/phpbb/trunk@8317 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-01-09 00:21:29 +00:00
David M
2928574ed4 - a few tiny clean ups
- 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
2008-01-07 15:19:38 +00:00
David M
af738dbc2a Ch-ch-ch-changes
- 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
2008-01-04 18:35:49 +00:00
David M
85055ac97f oh boy...
- Migrate code base to PHP 5.1+


git-svn-id: file:///svn/phpbb/trunk@8295 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-01-03 17:00:40 +00:00
Meik Sievertsen
7de5bb3498 dumdidum... sorry. ;)
git-svn-id: file:///svn/phpbb/trunk@8147 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-10-05 14:36:34 +00:00
David M
f684da8e93 #13916
git-svn-id: file:///svn/phpbb/trunk@7995 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-08-02 05:05:44 +00:00
David M
8f7a4d27c6 #13151
git-svn-id: file:///svn/phpbb/trunk@7849 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-07-09 15:33:38 +00:00
David M
d3468832bb #13033
git-svn-id: file:///svn/phpbb/trunk@7835 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-07-05 15:45:24 +00:00
Meik Sievertsen
5aa220bcd2 tweak the sql_like_expression feature a little bit to allow correct escaping
git-svn-id: file:///svn/phpbb/trunk@7789 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-06-24 12:49:13 +00:00
David M
367f5103d9 - Oracle can't handle IN clauses with more than 1000 elements (Bug #12449)
- Firebird can now work properly in PHP4


git-svn-id: file:///svn/phpbb/trunk@7767 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-06-16 13:49:49 +00:00
Meik Sievertsen
6160b613bc correctly re-assign query result
git-svn-id: file:///svn/phpbb/trunk@7753 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-06-12 21:24:22 +00:00
David M
f31c53963a - Oracle gives us null instead of '', this is now fixed (thanks APTX)
- Oracle can now explain queries


git-svn-id: file:///svn/phpbb/trunk@7741 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-06-09 14:58:50 +00:00
Meik Sievertsen
455536773f ok, mess around with the templates + fixing some bugs + adjusting headers for those files already modified to circumvent conflicts for those having their editor set to remove trailing spaces (not recommended!)
git-svn-id: file:///svn/phpbb/trunk@7736 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-06-09 11:11:20 +00:00
David M
dd9c236e6a - Oracle, woe is you... I will say this much, this fixes Oracle's handling of empty strings... We also fix custom profiles and now provide database size for Oracle...
git-svn-id: file:///svn/phpbb/trunk@7721 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-06-07 05:58:45 +00:00
David M
17315b69c6 d'oh!
git-svn-id: file:///svn/phpbb/trunk@7676 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-05-25 12:25:46 +00:00
David M
49d351be1d - added support for Oracle's easy connect naming
git-svn-id: file:///svn/phpbb/trunk@7671 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-05-23 23:47:59 +00:00
David M
3899e337e6 #11255
#11259
#11291
#11335
#11457
#11473
#11475
#11511
#11523
#11527


git-svn-id: file:///svn/phpbb/trunk@7663 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-05-22 21:32:26 +00:00
David M
b62268e8c2 - fixed Oracle's large data handling
- Firebird explodes when you deal with single column update/inserts over 32767, we now turn these queries into prepared statements


git-svn-id: file:///svn/phpbb/trunk@7326 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-04-11 02:23:21 +00:00
David M
484946e0d7 #8538
git-svn-id: file:///svn/phpbb/trunk@7140 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-03-06 21:11:23 +00:00
David M
1d6fd8e135 - clean up mssql and mssql_odbc, mssql now uses a different method of 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
2007-02-19 04:12:13 +00:00
David M
9bf3bd0cbc eh? meh.
git-svn-id: file:///svn/phpbb/trunk@6961 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-02-03 04:26:10 +00:00
David M
fa075585e3 #7550
- this sucker required a cleverish regex, there should be no further problems. it is also optimized :D


git-svn-id: file:///svn/phpbb/trunk@6959 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-02-03 00:44:58 +00:00
Meik Sievertsen
3c5c5154ab #7424
- rebuild username_clean column due to changes in utf8_clean_string()


git-svn-id: file:///svn/phpbb/trunk@6934 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-01-27 12:30:54 +00:00
Meik Sievertsen
a841fe70a8 ok, handled some bugs... the most important being validate_username (the 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
2007-01-17 18:41:49 +00:00
David M
1551f13bb2 #5562
major speed boost for Oracle :D

This took a while, every call to sql_query_limit() was checked out for having any implicit/explicit column issues... Hopefully, nothing has changed :D


git-svn-id: file:///svn/phpbb/trunk@6631 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-11-22 01:22:13 +00:00
Meik Sievertsen
4afaca12dc - store sql_layer directly within the layer itself
- 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
2006-10-14 14:56:46 +00:00
Meik Sievertsen
26aba1a1f1 - finally removed sql_numrows
- 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
2006-10-04 15:15:40 +00:00
Nils Adermann
f7f6e9bcde - query id can be zero [Bug #4584]
git-svn-id: file:///svn/phpbb/trunk@6438 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-10-03 20:38:03 +00:00
Meik Sievertsen
6d08ef7b3a made sql_rowseek consistent with the dbal methods as well as fixing 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
2006-09-23 11:10:37 +00:00
David M
b7dab9cdab - Oracle now works with large amounts of text
- 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
2006-09-19 04:50:02 +00:00
David M
fe1367b31e bug fixes
schema changes
i really hope nothing went wrong


git-svn-id: file:///svn/phpbb/trunk@6371 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-09-16 06:07:06 +00:00
Meik Sievertsen
1d42d1b981 some updates. Also adjusted the utf tools and normalizer more to our coding guidelines.
git-svn-id: file:///svn/phpbb/trunk@6312 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-08-22 21:26:06 +00:00
Nils Adermann
09081e410f - acm_file uses an index pointer to the current row instead of shifting the 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
2006-08-01 16:14:14 +00:00
David M
22d778fcff - Fix Oracle
- Make MySQL schema a little different than the others...
- Fix MCP_TOPIC


git-svn-id: file:///svn/phpbb/trunk@6212 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-07-28 02:56:02 +00:00
David M
0bc61ae76c - Some profile stuff :D
- Some DB stuff :D


git-svn-id: file:///svn/phpbb/trunk@6180 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-07-15 10:31:51 +00:00
Meik Sievertsen
46af817cb0 - tackle some usability issues
- 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
2006-07-09 16:23:57 +00:00
David M
0424200ac6 Short story: Oracle does not like sub queries that contain columns that have the same name
Long story: Expanding the implicitly defined columns to explicitly defined columns lets us determine which columns we are actually grabbing. This lets us avoid the problem of having two columns having the same name even though one is implicit and the other is explicit.

What does this mean? It means that when doing a limit on Oracle with an implicit column and a bunch of explicit columns, the explicit columns are the ones that "win".


git-svn-id: file:///svn/phpbb/trunk@6159 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-07-09 05:09:37 +00:00
Meik Sievertsen
1aac08acc0 make sure custom profile fields are created correctly on registration (#2225)
git-svn-id: file:///svn/phpbb/trunk@6058 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-06-13 21:06:29 +00:00
Meik Sievertsen
dd9ad539fd ok, this one is rather large... the most important change:
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
2006-06-06 20:53:46 +00:00
David M
9aa9cb4bb6 DB stuff, nothing cool at all unless you use Oracle.
git-svn-id: file:///svn/phpbb/trunk@6006 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-06-03 20:34:40 +00:00