1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-25 04:23:38 +01:00

63 Commits

Author SHA1 Message Date
Oleg Pudeyev
87e3560c30 [ticket/10057] Fixes for a bunch of small problems.
PHPBB3-10057
2011-03-08 19:48:56 -05:00
Oleg Pudeyev
e5aa2c9ac1 [ticket/10057] Fixed usage of sql_error again.
PHPBB3-10057
2011-03-07 08:52:59 -05:00
Oleg Pudeyev
98388b2921 [ticket/10057] Fixed wrong usage of sql_error in postgres dbal.
pg_last_error does not work if no connection was ever established.
Therefore we must keep track of connection errors in postgres
dbal ourselves.

PHPBB3-10057
2011-03-06 23:17:01 -05:00
Oleg Pudeyev
22004fa7d6 [ticket/10057] Include error collector class file in postgres dbal.
This change is in its own commit because it will be reverted for 3.1.

PHPBB3-10057
2011-03-06 20:51:09 -05:00
Oleg Pudeyev
17693c2802 [ticket/10057] Use a class for error collection.
Replaced error collection functions with a class for a cleaner
implementation.

PHPBB3-10057
2011-03-06 20:16:17 -05:00
Oleg Pudeyev
a4100fe709 [ticket/10057] More informative error messages in postgres dbal.
When pg_connect/pg_pconnect do not exist, mention that they come
with pgsql extension.

PHPBB3-10057
2011-03-06 20:16:17 -05:00
Oleg Pudeyev
d69a7c620a [ticket/10057] Report postgres db connection errors.
Addresses two issues:

1. When pgsql extension is missing, @pg_connect would silently
abort execution. Check for pg_connect existence before calling it,
same with pg_pconnect.

2. When connection fails, the error reported by php is discarded.
User is shown the failure message without the reason for failure,
making debugging difficult. Collect the error (if any) via a
temporarily installed error handler, and display it if connection
failed.

PHPBB3-10057
2011-03-06 20:16:16 -05:00
Andreas Fischer
2d9aa45aef Merge branch 'ticket/jellydoughnut/9637' into develop-olympus
* ticket/jellydoughnut/9637:
  [ticket/9637] Do not cache SQL server version in all cases
2010-07-11 01:44:59 +02:00
Josh Woody
9c61455d26 [ticket/9637] Do not cache SQL server version in all cases
Because the existing cache is global, there is no way to differentiate between
each of two databases which may be two different DBAL objects pointing to
servers with wildly different versions of an RDBMS. phpBB only has this
situation in the UCF, thus only one file changed outside the DBAL. I have
added a second optional parameter, $use_cache to each of the implementations
of dbal::sql_server_info()

PHPBB3-9637
2010-07-11 01:41:38 +02:00
Andreas Fischer
879bc89524 [ticket/9643] Only split $port from $sqlserver, if it's not an IPv6 address.
PHPBB3-9643
2010-06-08 19:27:55 +02:00
Andreas Fischer
970848409d [ticket/9518] Correctly create new connection on PostgreSQL when new connection is forced.
pg_connect() takes an integer as the second parameter, but we were passing a boolean parameter. The function especially requires passing the PGSQL_CONNECT_FORCE_NEW constant if a new connection is to be forced. Passing 0 as the second parameter for 'do not force a new connection' doesn't work as expected, hence we're calling the function without a second parameter in this case.

PHPBB3-9518
2010-05-14 02:22:24 +02:00
Meik Sievertsen
1fae177b9a Fix bug in postgresql db layer for LIMIT ALL clauses (reported by JRSweets)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9412 89ea8834-ac86-4346-8a33-228a782c2dd0
2009-03-30 10:44:18 +00:00
Meik Sievertsen
2fcd96ca72 Ok, story real database server info, as well as caching it
Store it on installation too - allows us to check the db version used on installation and used currently to warn the user about incompatibilities

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8814 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-09-04 12:01:47 +00:00
Chris Smith
e81eb70aed Refine fix for #31445 originally committed in r8758
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8809 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-09-02 13:27:37 +00:00
Chris Smith
1990ee2d4c Correctly return results for nested cached queries (Bug #31445 - Patch by faw)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8758 89ea8834-ac86-4346-8a33-228a782c2dd0
2008-08-14 18:38:41 +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
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
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
dfe674ffa1 - changed the way we do forum accounting in phpBB, far less intensive and much faster. sync() recalculates the number of topics and posts using just the topics table instead of having to join topics and posts together. However, even this can be avoided if we know what operation is happening and an auto sync is not in action. Since MCP operations are "known", we can provide very fast MCP operations.
- changed the way we decide if a DB gets multi value support. Old method uses switch/case, new method assumes a DB can't unless the DB says it can via a property

I hope nothing is broken :P


git-svn-id: file:///svn/phpbb/trunk@7466 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-05-05 04:53:43 +00:00
David M
e7fcb3625e - PostgreSQL can now use schemas. During install, under database name, enter databasename.schema
- phpversion() to PHP_VERSION


git-svn-id: file:///svn/phpbb/trunk@7255 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-04-01 12:39:34 +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
Meik Sievertsen
ddddda47fb - fix some oddities (doubled spaces for example)
- changed the way make_forum_select() is returning the forum list - now including skipped forums but being disabled. This should make identifying the correct forum much more easier.
- Changed some permission namings based on suggestions by the community
- Tried to comply to the permission field ordering within the language files while displaying permission sets. Hopefully it's worth the additional processing time.
- Disable submit buttons after clicking for installation and conversions.


git-svn-id: file:///svn/phpbb/trunk@6930 89ea8834-ac86-4346-8a33-228a782c2dd0
2007-01-26 16:09:51 +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
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
David M
3ad6069d01 *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@6450 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-10-06 22:44:58 +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
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
David M
86f3d738a0 so.... what does this thing do?
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
2006-08-11 21:52:46 +00:00
David M
ed69b27cb6 *** empty log message ***
git-svn-id: file:///svn/phpbb/trunk@6244 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-08-06 18:18:02 +00:00
David M
2f901a5203 This should end some issues we have been having regarding the proper binary encoding of stuff. :D
Acyd Burn: quit breaking the schema :P


git-svn-id: file:///svn/phpbb/trunk@6238 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-08-06 05:52:41 +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
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
Nils Adermann
3a883600e8 fixing a typo in postgres dbal
git-svn-id: file:///svn/phpbb/trunk@6179 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-07-14 22:23:44 +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
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
Meik Sievertsen
7d264396df some adjustments
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
2006-06-02 13:26:27 +00:00
Meik Sievertsen
9fca29eae3 some tiny changes...
git-svn-id: file:///svn/phpbb/trunk@5967 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-05-26 15:04:27 +00:00
Meik Sievertsen
0115e94cfd - seperate queries and cached queries
- 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
2006-05-20 13:20:38 +00:00
David M
3d2a45ab04 I hope nothing broke!
- 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
2006-05-05 22:06:17 +00:00
David M
a279978718 - Tuples? Nah,
- Install works w/ Oracle
- Got the queries in the database acp to conform to the CS
- profile acp now creates the proper alter column statement depending on the dbal


git-svn-id: file:///svn/phpbb/trunk@5842 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-04-24 22:13:52 +00:00
David M
d03e541179 - Query explain now works for MSSQL, MSSQL-ODBC and PostgreSQL
- MSSQL schema now properly includes prefixes inside of all constraints


git-svn-id: file:///svn/phpbb/trunk@5839 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-04-23 17:28:06 +00:00
Meik Sievertsen
84738055a2 - fixed some bugs
- made sql schemas consistent
- added correct sequences and generators to sql schemas
- extended some rows to hold more data. This solves issues with multibyte characters and too short topic titles, names, etc.
- allow multibyte characters in usernames


git-svn-id: file:///svn/phpbb/trunk@5784 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-04-15 14:48:36 +00:00
David M
aba2d59c88 - Needless regular expressions
git-svn-id: file:///svn/phpbb/trunk@5692 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-03-22 06:23:37 +00:00
Meik Sievertsen
b4c9cd7590 - add our beloved in_phpbb check
git-svn-id: file:///svn/phpbb/trunk@5670 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-03-19 14:23:21 +00:00
David M
593ab697a0 - Cleaned up some compress stuff
- Replaced deprecated functions in the PostrgreSQL DBAL
- Added an undefined constant during install
- Oh, and we now have backups :D We currently work with all the MySQL flavors, PostgreSQL and SQLite...


git-svn-id: file:///svn/phpbb/trunk@5647 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-03-18 06:39:47 +00:00
Meik Sievertsen
4962db5f67 - fix some bugs...
git-svn-id: file:///svn/phpbb/trunk@5643 89ea8834-ac86-4346-8a33-228a782c2dd0
2006-03-17 12:51:32 +00:00