Commit graph

171 commits

Author SHA1 Message Date
Christoph M. Becker
6083a387a8 Unbundle libsqlite3
Since there is no need to patch libsqlite3 for our purposes, and since
libsqlite3 ≥ 3.3.9 (which is our current requirement) is widely
available on distros, there is no reason anymore to bundle the library.

Besides removing the bundled libsqlite, and adapting the configuration
respectively, we also fix the use of the SQLITE_ENABLE_COLUMN_METADATA
compile time constant to detect whether sqlite3_column_table_name() is
available by a working feature detection (otherwise bug_42589.phpt
would fail).  We also skip bug73068.phpt for libsqlite 3.11.0 to
3.14.1 which have a bug (<https://sqlite.org/src/info/ef360601>).

We also completely drop support for the obscure pdo_sqlite_external
extension (which could have been enabled on Windows only by passing
`--pdo-sqlite-external` to configure), since it is not needed anymore.

Furthermore, we remove references to the bundled libsqlite from
Makefile.gcov, CONTRIBUTING.md and README.REDIST.BINS.
2018-10-06 12:36:55 +02:00
Gabriel Caruso
f72b6c5e19
Use EXPECT instead of EXPECTF when possible 2018-09-16 15:39:18 -03:00
Christoph M. Becker
d035bc2bfe Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
2018-07-26 14:23:40 +02:00
Christoph M. Becker
ce66492a13 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
2018-07-26 13:26:58 +02:00
Christoph M. Becker
ed7e3bc70a Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
We need to ensure that a zval IS_DOUBLE before we access it as such.
In this case we apply common type juggling to do so.
2018-07-26 13:15:19 +02:00
Gabriel Caruso
c93aba042f
Give a reason why the test was skipped
This will help us debug why a test was skipped in GCOV
(http://gcov.php.net/viewer.php?version=PHP_HEAD&func=skip), and maybe
put them to run again
2018-07-22 16:41:41 -03:00
Gabriel Caruso
b895690dfa
remove support for string|unicode in tests 2018-02-22 08:11:30 +01:00
Gabriel Caruso
ded3d984c6 Use EXPECT instead of EXPECTF when possible
EXPECTF logic in run-tests.php is considerable, so let's avoid it.
2018-02-20 21:53:48 +01:00
Gabriel Caruso
b0d3c1bf83 Add and fix SKIPIF sections 2018-02-04 17:26:37 +01:00
marcosptf
6347e25c2f
add new test to uncoverage SQLite3 method. 2017-07-25 09:12:34 +01:00
BohwaZ
626ee74ee8 Change flags to use SQLITE3_OPEN_READ* constants instead of a fake-boolean, add tests on errors 2017-06-08 11:25:00 +12:00
BohwaZ
208aea1e85 Implement writing to BLOBs in SQLite3 2017-05-18 11:54:55 +12:00
Markus Staab
22881e06e2 fixed typo 2017-03-29 09:10:42 +02:00
Markus Staab
851f3654f1 fixed typo 2017-03-29 09:09:53 +02:00
Remi Collet
83b0708878 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix buid with system libsqlite, see bug #74217
2017-03-29 07:28:26 +02:00
Remi Collet
012dc336a6 Fix buid with system libsqlite, see bug #74217
SQLITE_DETERMINISTIC only exists in recent version
e.g. missing on 3.7 which is the default on RHEL/CentOS-7
and probably others (wheezy have 3.7, jessie 3.8...)
2017-03-29 07:25:01 +02:00
Nikita Popov
e31342ef84 Merge branch 'PHP-7.1' 2017-03-12 17:04:02 +01:00
andrewnester
fbf0e0587f Implement FR #74217: deterministic sqlite functions 2017-03-12 17:03:00 +01:00
Nikita Popov
5af586bec5 Remove more PHP 6 leftovers from tests 2016-11-24 22:39:39 +01:00
Nikita Popov
45f7b2bcc8 Fix CRLF line-endings in tests
Also fix a single instance of CRLF in ibase_query.c.
2016-11-20 22:31:24 +01:00
Dmitry Stogov
bf17a4f09d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed ZTS build
2016-11-16 16:47:35 +03:00
Dmitry Stogov
1f3a5b4501 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed ZTS build
2016-11-16 16:47:22 +03:00
Christoph M. Becker
07ed7b5198 Merge branch 'PHP-7.1' 2016-11-16 12:08:16 +01:00
Christoph M. Becker
c5abb87322 Merge branch 'PHP-7.0' into PHP-7.1 2016-11-16 12:02:29 +01:00
Christoph M. Becker
936cafe33e Merge branch 'PHP-5.6' into PHP-7.0 2016-11-16 12:00:39 +01:00
Christoph M. Becker
eb570294a2 Fix #73530: Unsetting result set may reset other result set
Calling sqlite3_reset() when a result set object is freed can cause
undesired and maybe even hard to track interference with other result
sets. Furthermore, there is no need to call sqlite3_reset(), because
that is implicitly called on SQLite3Stmt::execute(), and users are
encouraged to explicitly call either SQLite3Result::finalize() or
SQLite3Stmt::reset() anyway.
2016-11-16 11:49:04 +01:00
Christoph M. Becker
e147eeb4bc Merge branch 'PHP-7.1' 2016-10-18 00:02:18 +02:00
Christoph M. Becker
32123167d1 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-18 00:01:32 +02:00
Christoph M. Becker
0b596f81b8 Merge branch 'PHP-5.6' into PHP-7.0
We also use ZEND_LONG_(MAX|MIN) now instead of LONG_(MAX|MIN).
2016-10-17 23:38:28 +02:00
Christoph M. Becker
86e603a664 Fix #73333: 2147483647 is fetched as string
We return all integers that can be represented as such by PHP as
integers, and only those that exceed the possible range as strings.
On builds which represent integers with 64 bits, the range check is
unnecessary and might cause code checkers to complain, so we skip this
special casing via the preprocessor according to
<http://git.php.net/?p=php-src.git;a=commit;h=99d087e5>.
2016-10-17 23:34:41 +02:00
Anatol Belski
b1cd3ade55 Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #73068
2016-09-13 15:31:02 +02:00
Anatol Belski
86d6f29e8f Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  add test for bug #73068
2016-09-13 15:30:35 +02:00
Anatol Belski
5163925796 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add test for bug #73068
2016-09-13 15:29:46 +02:00
Anatol Belski
248f8c3a91 add test for bug #73068 2016-09-13 15:28:28 +02:00
Christoph M. Becker
2c91684394 Replace dirname(__FILE__) with __DIR__ in tests 2016-09-03 00:56:09 +02:00
Christoph M. Becker
b8d26ebb9a Merge branch 'PHP-7.0' into PHP-7.1 2016-09-03 00:40:05 +02:00
Christoph M. Becker
f3dc00fdfb Merge branch 'PHP-5.6' into PHP-7.0 2016-09-03 00:30:05 +02:00
Christoph M. Becker
c83bdb8e6a Make test case more resilient
When ran from a root directory the test case failed, because the open_basedir
restriction for "../[…]" won't kick in. Therefore we change the current
working directory to the test case's directory, as discussed on internals,
see <http://news.php.net/php.internals/95585>.
2016-09-03 00:24:30 +02:00
Christoph M. Becker
be11563fa2 Merge branch 'PHP-7.0' into PHP-7.1 2016-07-27 16:54:27 +02:00
Christoph M. Becker
23c359c276 Merge branch 'PHP-5.6' into PHP-7.0
# Resolved conflicts:
#	ext/sqlite3/sqlite3.c
2016-07-27 16:48:29 +02:00
Christoph M. Becker
cc125f277b Implement #72653: SQLite should allow opening with empty filename
From the [sqlite3_open](https://www.sqlite.org/c3ref/open.html) docs:

| If the filename is an empty string, then a private, temporary on-disk
| database will be created. This private database will be automatically
| deleted as soon as the database connection is closed.

We make that facility available to userland.

While we're at it, we also do some minor optimizations, remove the
unnecessary check for NUL characters in filename, which is already catered
to by ZPP(p), and add a missing `return` in case db_obj isn't initialized.
2016-07-27 16:41:03 +02:00
Christoph M. Becker
ac0bbea3a8 Merge branch 'PHP-7.0' into PHP-7.1 2016-07-25 17:15:10 +02:00
Christoph M. Becker
ccf39dd552 Merge branch 'PHP-5.6' into PHP-7.0
# Resolved conflicts:
#	ext/sqlite3/sqlite3.c
#	ext/sqlite3/tests/bug72668.phpt
2016-07-25 17:07:41 +02:00
Christoph M. Becker
64e3e932fc Further fixes wrt. bug #72668
Not only SQLite3::querySingle(), but also SQLite3::query() and
SQLite3Stmt::execute() were affected.
2016-07-25 17:03:10 +02:00
Xinchen Hui
088905bf60 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #72668 (Spurious warning when exception is thrown in user defined function)
2016-07-25 20:28:57 +08:00
Xinchen Hui
f5e56cf970 Fixed bug #72668 (Spurious warning when exception is thrown in user defined function) 2016-07-25 20:28:39 +08:00
Xinchen Hui
24d0211b32 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72571 (SQLite3::bindValue, SQLite3::bindParam crash)
2016-07-11 11:51:34 +08:00
Xinchen Hui
a19655cfe3 Fixed bug #72571 (SQLite3::bindValue, SQLite3::bindParam crash) 2016-07-11 11:51:19 +08:00
Christoph M. Becker
0d0f5976d8 Merge branch 'PHP-7.0' 2016-06-27 17:18:44 +02:00
Christoph M. Becker
0f03224d59 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-27 17:09:55 +02:00