# Using source code ...

- Thread: https://externals.io/message/55329
- Original archive: https://news-web.php.net/php.internals/55329
- Started by Lester Caine on 2011-09-09T10:10:18+00:00
- Messages: 8
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #55329 — Lester Caine — 2011-09-09T10:10:18+00:00

URL: https://externals.io/message/55329#55329

I probably need to roll back a bit further, but I already have the current hg 
cone of php-src on the main repo here, so I've cloned a PHP5.3 and PHP5.4 from 
it to work on from my SUSE11.3 machine. This is a gash development machine so I 
can screw up the PHP to my harts content ;)

Added autoconf2.13 to get ./buildconf running, and I'm in the 5.3 copy but I'm 
getting
'suspicious cache-id, must contain _cv_ to be cached'
against the pdo drivers including php_firebird which is exactly where I want to 
work.

Do I need to download all of this from SVN or am I simply missing something? A 
quick check seems to point to the _cv_ being a PHP5.4 change?

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

---

## #55330 — Alexey Shein — 2011-09-09T10:19:38+00:00

URL: https://externals.io/message/55329#55330 · In reply to: #55329

Hello, Lester, try to start from scratch by running ./vcsclean first,
often it helps to solve all cache issues from previous builds.

2011/9/9 Lester Caine <lester@lsces.co.uk>:
> I probably need to roll back a bit further, but I already have the current
> hg cone of php-src on the main repo here, so I've cloned a PHP5.3 and PHP5.4
> from it to work on from my SUSE11.3 machine. This is a gash development
> machine so I can screw up the PHP to my harts content ;)
>
> Added autoconf2.13 to get ./buildconf running, and I'm in the 5.3 copy but
> I'm getting
> 'suspicious cache-id, must contain _cv_ to be cached'
> against the pdo drivers including php_firebird which is exactly where I want
> to work.
>
> Do I need to download all of this from SVN or am I simply missing something?
> A quick check seems to point to the _cv_ being a PHP5.4 change?
>
> --
> Lester Caine - G8HFL
> -----------------------------
> Contact - http://lsces.co.uk/wiki/?page=contact
> L.S.Caine Electronic Services - http://lsces.co.uk
> EnquirySolve - http://enquirysolve.com/
> Model Engineers Digital Workshop - http://medw.co.uk//
> Firebird - http://www.firebirdsql.org/index.php
>
> --
> 
> 
>
>



-- 
Regards,
Shein Alexey

---

## #55331 — Lester Caine — 2011-09-09T10:32:44+00:00

URL: https://externals.io/message/55329#55331 · In reply to: #55330

Alexey Shein wrote:
> Hello, Lester, try to start from scratch by running ./vcsclean first,
> often it helps to solve all cache issues from previous builds.

No go ...
'Can't figure out your VCS, not cleaning.'

This is a clone from the hg.php.net mirror, so there should not be any SVN or 
other build stuff present.
But it does look like I'm seeing a 'leak' from the PHP5.4 version as that is 
running ./buildconf clean ... just need to add the PHP_AUTOCONF= into each copy 
so I can switch between builds easily.

I'll play with the 5.4 build at the moment, the tests are identical across all 
three branches anyway.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

---

## #55332 — Ferenc Kovacs — 2011-09-09T10:50:44+00:00

URL: https://externals.io/message/55329#55332 · In reply to: #55331

> Alexey Shein wrote:
> > […]
>
> No go ...
> 'Can't figure out your VCS, not cleaning.'
>

the vcsclean script only support cvs, svn and git currently.
basically it just deletes the ignored files present, so if the hg
knows about the ignored files (I think the svn:ignore properties were
migrated to git, so they should be available), then you should be able
to see those files with
hg status -i
delete those files, and try ./buildconf again, or you can also try
./buildconf --force

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

---

## #55344 — Lester Caine — 2011-09-09T20:42:51+00:00

URL: https://externals.io/message/55329#55344 · In reply to: #55331

Lester Caine wrote:
> I'll play with the 5.4 build at the moment, the tests are identical across all
> three branches anyway.

OK I've posted a bug report https://bugs.php.net/bug.php?id=55659 - very painful 
process to get through and I'm sure I'll forget all the mistakes before my next 
post :(

This fixes the 003 and 006 errors in ext/interbase/tests

Also listed is 007, but this is working fine on all the machines here, although 
008 is time dependent and can fail if other activity is slowing down the 
database connection.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

---

## #55345 — Alexey Shein — 2011-09-09T21:43:06+00:00

URL: https://externals.io/message/55329#55345 · In reply to: #55344

Hello, Lester, I've managed to setup pdo_firebird, here's the process
for the ubuntu if you're interested:
1) setup firebird superclassic:
$ sudo apt-get install firebird2.5-superclassic firebird2.5-dev
firebird2.5-examples

superclassic is the server itself, dev package contains headers to
compile pdo stuff, examples contains example db, i used it to run
tests in it.
Set up credentials for the server (see the link lower).
Get employee.fdb as written here
http://www.firebirdsql.org/manual/ubusetup.html to a some known and
writable path by your user (which tests will be run on).
2) compile php with following flags, you'll need interbase too (some
tests in pdo_firebird/tests need it)
./configure  --disable-all --enable-pdo --with-pdo-firebird --with-interbase
make
3) Run tests with environment variables that can be found in
ext/pdo_firebird/tests/common.phpt, I ran it like this:
$ PDO_FIREBIRD_TEST_DSN='firebird:dbname=/var/lib/firebird/2.5/data/employee.fdb'
PDO_FIREBIRD_TEST_USER='SYSDBA' PDO_FIREBIRD_TEST_PASS='masterkey'
TEST_PHP_EXECUTABLE=auto php -n ./run-tests.php ext/pdo_firebird

Tests run very slowly and mostly (if not all) fail. You will get
something like this:

conf@laptop ~/php-src/trunk $
PDO_FIREBIRD_TEST_DSN='firebird:dbname=/var/lib/firebird/2.5/data/employee.fdb'
PDO_FIREBIRD_TEST_USER='SYSDBA' PDO_FIREBIRD_TEST_PASS='masterkey'
./run-tests.php ext/pdo_firebird

=====================================================================
PHP         : /home/conf/php-src/trunk/sapi/cli/php
 `PHP_SAPI`    : cli
 `PHP_VERSION` : 5.5.0-dev
ZEND_VERSION: 2.4.0
 `PHP_OS`      : Linux - Linux laptop 2.6.38-11-generic #48-Ubuntu SMP
Fri Jul 29 19:02:55 UTC 2011 x86_64
INI actual  : /home/conf/php-src/trunk
More .INIs  :
---------------------------------------------------------------------
PHP         : /home/conf/php-src/trunk/sapi/cgi/php-cgi
 `PHP_SAPI`    : cgi-fcgi
 `PHP_VERSION` : 5.5.0-dev
ZEND_VERSION: 2.4.0
 `PHP_OS`      : Linux - Linux laptop 2.6.38-11-generic #48-Ubuntu SMP
Fri Jul 29 19:02:55 UTC 2011 x86_64
INI actual  : /home/conf/php-src/trunk
More .INIs  :
---------------------------------------------------------------------
CWD         : /home/conf/php-src/trunk
Extra dirs  :
VALGRIND    : Not used
=====================================================================
Running selected tests.
---> ext/pdo/tests (FIREBIRD [ext/pdo_firebird/tests/common.phpt]) begin
PASS FIREBIRD Bug #47769 (Strange extends PDO)
[ext/pdo_firebird/tests/bug47769.phpt]
FAIL FIREBIRD PDO Common: Bug #34630 (inserting streams as LOBs)
[ext/pdo_firebird/tests/bug_34630.phpt]
PASS FIREBIRD PDO Common: Bug #34687 (query doesn't return error
information) [ext/pdo_firebird/tests/bug_34687.phpt]
FAIL FIREBIRD PDO Common: Bug #35671 (binding by name breakage)
[ext/pdo_firebird/tests/bug_35671.phpt]
PASS FIREBIRD PDO Common: Bug #36428 (Incorrect error message for
PDO::fetchAll()) [ext/pdo_firebird/tests/bug_36428.phpt]
FAIL FIREBIRD PDO Common: Bug #36798 (Error parsing named parameters
with queries containing high-ascii chars)
[ext/pdo_firebird/tests/bug_36798.phpt]
FAIL FIREBIRD PDO Common: Bug #38253 (PDO produces segfault with
default fetch mode) [ext/pdo_firebird/tests/bug_38253.phpt]
FAIL FIREBIRD PDO Common: Bug #38394 (Prepared statement error stops
subsequent statements) [ext/pdo_firebird/tests/bug_38394.phpt]
FAIL FIREBIRD PDO Common: Bug #39398 (Booleans are not automatically
translated to integers) [ext/pdo_firebird/tests/bug_39398.phpt]
FAIL FIREBIRD PDO Common: Bug #39656 (Crash when calling fetch() on a
PDO statment object after closeCursor())
[ext/pdo_firebird/tests/bug_39656.phpt]
FAIL FIREBIRD PDO Common: Bug #40285 (The prepare parser goes into an
infinite loop on ': or ":) [ext/pdo_firebird/tests/bug_40285.phpt]
FAIL FIREBIRD PDO Common: Bug #42917 (PDO::FETCH_KEY_PAIR doesn't work
with setFetchMode) [ext/pdo_firebird/tests/bug_42917.phpt]
FAIL FIREBIRD PDO Common: Bug #43130 (Bound parameters cannot have -
in their name) [ext/pdo_firebird/tests/bug_43130.phpt]
FAIL FIREBIRD PDO Common: Bug #43139 (PDO ignore
ATTR_DEFAULT_FETCH_MODE in some cases with fetchAll())
[ext/pdo_firebird/tests/bug_43139.phpt]
PASS FIREBIRD PDO Common: Bug #43663 (__call on classes derived from
PDO) [ext/pdo_firebird/tests/bug_43663.phpt]
PASS FIREBIRD Bug #44159 (Crash:
$pdo->setAttribute(PDO::STATEMENT_ATTR_CLASS, NULL))
[ext/pdo_firebird/tests/bug_44159.phpt]
FAIL FIREBIRD PDO Common: Bug #44173 (PDO->query() parameter
parsing/checking needs an update)
[ext/pdo_firebird/tests/bug_44173.phpt]
FAIL FIREBIRD PDO Common: Bug #44409 (PDO::FETCH_SERIALIZE calls
__construct()) [ext/pdo_firebird/tests/bug_44409.phpt]
SKIP FIREBIRD PDO Common: Bug #44861 (scrollable cursor don't work
with pgsql) [ext/pdo_firebird/tests/bug_44861.phpt] reason: Scrollable
cursors not supported
FAIL FIREBIRD PDO Common: Bug #50458 (PDO::FETCH_FUNC fails with
Closures) [ext/pdo_firebird/tests/bug_50458.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_ASSOC
[ext/pdo_firebird/tests/pdo_001.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_NUM [ext/pdo_firebird/tests/pdo_002.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_BOTH [ext/pdo_firebird/tests/pdo_003.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_OBJ [ext/pdo_firebird/tests/pdo_004.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_CLASS
[ext/pdo_firebird/tests/pdo_005.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_GROUP
[ext/pdo_firebird/tests/pdo_006.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_UNIQUE
[ext/pdo_firebird/tests/pdo_007.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_UNIQUE conflict
[ext/pdo_firebird/tests/pdo_008.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_CLASSTYPE
[ext/pdo_firebird/tests/pdo_009.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_CLASSTYPE and GROUP/UNIQUE
[ext/pdo_firebird/tests/pdo_010.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_FUNC and statement overloading
[ext/pdo_firebird/tests/pdo_011.phpt]
FAIL FIREBIRD PDO Common: PDOStatement::setFetchMode
[ext/pdo_firebird/tests/pdo_012.phpt]
FAIL FIREBIRD PDO Common: PDOStatement iterator
[ext/pdo_firebird/tests/pdo_013.phpt]
FAIL FIREBIRD PDO Common: PDOStatement SPL iterator
[ext/pdo_firebird/tests/pdo_014.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_COLUMN
[ext/pdo_firebird/tests/pdo_015.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_BOUND
[ext/pdo_firebird/tests/pdo_016.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_BOUND w/o :
[ext/pdo_firebird/tests/pdo_016a.phpt]
FAIL FIREBIRD PDO Common: transactions [ext/pdo_firebird/tests/pdo_017.phpt]
FAIL FIREBIRD PDO Common: serializing [ext/pdo_firebird/tests/pdo_018.phpt]
FAIL FIREBIRD PDO Common: fetch() and while()
[ext/pdo_firebird/tests/pdo_019.phpt]
FAIL FIREBIRD PDO Common: PDOStatement::columnCount
[ext/pdo_firebird/tests/pdo_020.phpt]
FAIL FIREBIRD PDO Common: PDOStatement::execute with parameters
[ext/pdo_firebird/tests/pdo_021.phpt]
SKIP FIREBIRD PDO Common: PDOStatement::getColumnMeta
[ext/pdo_firebird/tests/pdo_022.phpt] reason: this feature is not yet
finalized, no test makes sense
FAIL FIREBIRD PDO Common: extending PDO [ext/pdo_firebird/tests/pdo_023.phpt]
FAIL FIREBIRD PDO Common: assert that bindParam does not modify
parameter [ext/pdo_firebird/tests/pdo_024.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_INTO [ext/pdo_firebird/tests/pdo_025.phpt]
FAIL FIREBIRD PDO Common: extending PDO (2)
[ext/pdo_firebird/tests/pdo_026.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_LAZY [ext/pdo_firebird/tests/pdo_027.phpt]
FAIL FIREBIRD PDO Common: bindValue [ext/pdo_firebird/tests/pdo_028.phpt]
FAIL FIREBIRD PDO Common: extending PDO (3)
[ext/pdo_firebird/tests/pdo_029.phpt]
FAIL FIREBIRD PDO Common: extending PDO (4)
[ext/pdo_firebird/tests/pdo_030.phpt]
FAIL FIREBIRD PDO Common: PDOStatement SPL iterator
[ext/pdo_firebird/tests/pdo_031.phpt]
FAIL FIREBIRD PDO Common: PDO::ATTR_CASE [ext/pdo_firebird/tests/pdo_032.phpt]
FAIL FIREBIRD PDO Common: PDO::quote() [ext/pdo_firebird/tests/pdo_033.phpt]
FAIL FIREBIRD PDO Common: PDO::FETCH_KEY_PAIR fetch mode test
[ext/pdo_firebird/tests/pdo_034.phpt]
PASS FIREBIRD PDO Common: PDORow + `get_parent_class()`
[ext/pdo_firebird/tests/pdo_035.phpt]
PASS FIREBIRD Testing PDORow and PDOStatement instances with
Reflection [ext/pdo_firebird/tests/pdo_036.phpt]
PASS FIREBIRD Crash when calling a method of a class that inherits
PDOStatement [ext/pdo_firebird/tests/pdo_037.phpt]
PASS FIREBIRD Trying instantiate a PDORow object manually
[ext/pdo_firebird/tests/pdorow.phpt]
FAIL FIREBIRD PDO Common: PECL Bug #5217 (serialize/unserialze safety)
[ext/pdo_firebird/tests/pecl_bug_5217.phpt]
FAIL FIREBIRD PDO Common: PECL Bug #5772 (PDO::FETCH_FUNC breaks on
mixed case func name) [ext/pdo_firebird/tests/pecl_bug_5772.phpt]
FAIL FIREBIRD PDO Common: PECL Bug #5809
(PDOStatement::execute(array()) changes param)
[ext/pdo_firebird/tests/pecl_bug_5809.phpt]
---> ext/pdo/tests (FIREBIRD [ext/pdo_firebird/tests/common.phpt]) done
PASS PDO_Firebird: connect/disconnect [ext/pdo_firebird/tests/connect.phpt]
PASS PDO_Firebird: DDL/transactions [ext/pdo_firebird/tests/ddl.phpt]
PASS PDO_Firebird: prepare/execute/binding
[ext/pdo_firebird/tests/execute.phpt]
FAIL PDO_Firebird: rowCount [ext/pdo_firebird/tests/rowCount.phpt]
=====================================================================
Number of tests :   66                64
Tests skipped   :    2 (  3.0%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :   52 ( 78.8%) ( 81.2%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :   12 ( 18.2%) ( 18.8%)
---------------------------------------------------------------------
Time taken      : 5778 seconds
=====================================================================

Good luck!

P.S. If you want to see test results on my machine, drop me a letter.



2011/9/10 Lester Caine <lester@lsces.co.uk>:
> Lester Caine wrote:
> > […]
>
> OK I've posted a bug report https://bugs.php.net/bug.php?id=55659 - very
> painful process to get through and I'm sure I'll forget all the mistakes
> before my next post :(
>
> This fixes the 003 and 006 errors in ext/interbase/tests
>
> Also listed is 007, but this is working fine on all the machines here,
> although 008 is time dependent and can fail if other activity is slowing
> down the database connection.
>
> --
> Lester Caine - G8HFL
> -----------------------------
> Contact - http://lsces.co.uk/wiki/?page=contact
> L.S.Caine Electronic Services - http://lsces.co.uk
> EnquirySolve - http://enquirysolve.com/
> Model Engineers Digital Workshop - http://medw.co.uk//
> Firebird - http://www.firebirdsql.org/index.php
>
> --
> 
> 
>
>



-- 
Regards,
Shein Alexey

---

## #55346 — Lester Caine — 2011-09-09T22:11:46+00:00

URL: https://externals.io/message/55329#55346 · In reply to: #55345

Alexey Shein wrote:
> Tests run very slowly and mostly (if not all) fail. You will get
> something like this:

Forgot to add - the failure is the connection finally timing out ... which is 
set to rather a long period :(

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

---

## #55347 — Lester Caine — 2011-09-09T22:26:02+00:00

URL: https://externals.io/message/55329#55347 · In reply to: #55345

( Forgot the address ;) )
Alexey Shein wrote:
> Hello, Lester, I've managed to setup pdo_firebird, here's the process
> for the ubuntu if you're interested:
Alexey ... I've got the pdo stuff working on SUSE, but there is something basic 
wrong with the way the pdo tests work.

I have the first few pdo_0xx tests working fine as stand alone tests, and even 
some of the bug entries work fine when run in isolation. The problem is coming 
from the earlier tests putting the connection into a stuck state - and I suspect 
that it's the default way pdo handles transactions. Or simply waiting for the 
previous test to roll back before trying to recreate and use the same table 
again. Ideally one would not continually open and close the same connection.

My next step is to remove all the tests from the pdo/tests directory and put 
them back one by one until I hit the problem, but the main problem with many of 
the tests is that they are testing database specific 'problems' rather than ONLY 
testing for features that are designed to work cross database. Nothing database 
specific should be in the generic tests, and there is probably several days work 
to build firebird versions of the oracle blob tests, restoring tests which are 
disabled because pgsql or mysql don't support them and things like that.

I certainly don't have time to undertake that exercise, so I just want to 
identify the problems so we can add specific skips to thouse tests for pdo_firebird.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php
