summaryrefslogtreecommitdiff
path: root/pear/packages/DB-1.3.tar
blob: 6c3537a45562baa8a08a5ced6bee3dc953172fc9 (plain)
ofshex dumpascii
0000 70 61 63 6b 61 67 65 2e 78 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 package.xml.....................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
0080 20 20 32 36 31 33 32 20 20 37 35 31 31 30 37 30 32 31 32 20 20 20 36 32 32 32 20 00 00 00 00 00 ..26132..7511070212...6222......
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 49 53 <?xml.version="1.0".encoding="IS
0220 4f 2d 38 38 35 39 2d 31 22 20 3f 3e 0a 3c 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 3d 22 31 O-8859-1".?>.<package.version="1
0240 2e 30 22 3e 0a 20 20 3c 6e 61 6d 65 3e 44 42 3c 2f 6e 61 6d 65 3e 0a 20 20 3c 73 75 6d 6d 61 72 .0">...<name>DB</name>...<summar
0260 79 3e 44 61 74 61 62 61 73 65 20 41 62 73 74 72 61 63 74 69 6f 6e 20 4c 61 79 65 72 3c 2f 73 75 y>Database.Abstraction.Layer</su
0280 6d 6d 61 72 79 3e 0a 20 20 3c 64 65 73 63 72 69 70 74 69 6f 6e 3e 44 42 20 69 73 20 61 20 64 61 mmary>...<description>DB.is.a.da
02a0 74 61 62 61 73 65 20 61 62 73 74 72 61 63 74 69 6f 6e 20 6c 61 79 65 72 20 70 72 6f 76 69 64 69 tabase.abstraction.layer.providi
02c0 6e 67 3a 0a 2a 20 61 6e 20 4f 4f 2d 73 74 79 6c 65 20 71 75 65 72 79 20 41 50 49 0a 2a 20 61 20 ng:.*.an.OO-style.query.API.*.a.
02e0 44 53 4e 20 28 64 61 74 61 20 73 6f 75 72 63 65 20 6e 61 6d 65 29 20 66 6f 72 6d 61 74 20 66 6f DSN.(data.source.name).format.fo
0300 72 20 73 70 65 63 69 66 79 69 6e 67 20 64 61 74 61 62 61 73 65 20 73 65 72 76 65 72 73 0a 2a 20 r.specifying.database.servers.*.
0320 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 20 28 62 69 6e 64 29 20 65 6d 75 6c 61 74 69 6f 6e prepare/execute.(bind).emulation
0340 20 66 6f 72 20 64 61 74 61 62 61 73 65 73 20 74 68 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 .for.databases.that.don't.suppor
0360 74 20 69 74 20 6e 61 74 69 76 65 6c 79 0a 2a 20 61 20 72 65 73 75 6c 74 20 6f 62 6a 65 63 74 20 t.it.natively.*.a.result.object.
0380 66 6f 72 20 65 61 63 68 20 71 75 65 72 79 20 72 65 73 70 6f 6e 73 65 0a 2a 20 70 6f 72 74 61 62 for.each.query.response.*.portab
03a0 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 73 0a 2a 20 73 65 71 75 65 6e 63 65 20 65 6d 75 6c 61 74 le.error.codes.*.sequence.emulat
03c0 69 6f 6e 0a 2a 20 73 65 71 75 65 6e 74 69 61 6c 20 61 6e 64 20 6e 6f 6e 20 73 65 71 75 65 6e 74 ion.*.sequential.and.non.sequent
03e0 69 61 6c 20 72 6f 77 20 66 65 74 63 68 69 6e 67 20 61 73 20 77 65 6c 6c 20 61 73 20 62 75 6c 6b ial.row.fetching.as.well.as.bulk
0400 20 66 65 74 63 68 69 6e 67 0a 2a 20 6f 72 64 65 72 65 64 20 61 72 72 61 79 2c 20 61 73 73 6f 63 .fetching.*.ordered.array,.assoc
0420 69 61 74 69 76 65 20 61 72 72 61 79 20 61 6e 64 20 6f 62 6a 65 63 74 20 66 6f 72 6d 61 74 73 20 iative.array.and.object.formats.
0440 73 75 70 70 6f 72 74 65 64 20 66 6f 72 20 74 68 65 20 66 65 74 63 68 65 64 20 72 6f 77 73 0a 2a supported.for.the.fetched.rows.*
0460 20 72 6f 77 20 6c 69 6d 69 74 20 73 75 70 70 6f 72 74 0a 2a 20 74 72 61 6e 73 61 63 74 69 6f 6e .row.limit.support.*.transaction
0480 73 20 73 75 70 70 6f 72 74 0a 2a 20 74 61 62 6c 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e s.support.*.table.information.in
04a0 74 65 72 66 61 63 65 0a 2a 20 44 6f 63 42 6f 6f 6b 20 61 6e 64 20 50 48 50 44 6f 63 20 41 50 49 terface.*.DocBook.and.PHPDoc.API
04c0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 0a 44 42 20 6c 61 79 65 72 73 20 69 74 73 65 6c 66 .documentation..DB.layers.itself
04e0 20 6f 6e 20 74 6f 70 20 6f 66 20 50 48 50 27 73 20 65 78 69 73 74 69 6e 67 20 64 61 74 61 62 61 .on.top.of.PHP's.existing.databa
0500 73 65 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 54 68 65 0a 63 75 72 72 65 6e 74 6c 79 20 73 75 se.extensions...The.currently.su
0520 70 70 6f 72 74 65 64 20 65 78 74 65 6e 73 69 6f 6e 73 20 61 72 65 3a 20 64 62 61 73 65 2c 20 66 pported.extensions.are:.dbase,.f
0540 62 73 71 6c 2c 20 69 6e 74 65 72 62 61 73 65 2c 20 69 6e 66 6f 72 6d 69 78 2c 0a 6d 73 71 6c 2c bsql,.interbase,.informix,.msql,
0560 20 6d 73 73 71 6c 2c 20 6d 79 73 71 6c 2c 20 6f 63 69 38 2c 20 6f 64 62 63 2c 20 70 67 73 71 6c .mssql,.mysql,.oci8,.odbc,.pgsql
0580 20 61 6e 64 20 73 79 62 61 73 65 20 28 44 42 20 73 74 79 6c 65 20 69 6e 74 65 72 66 61 63 65 73 .and.sybase.(DB.style.interfaces
05a0 0a 74 6f 20 4c 44 41 50 20 73 65 72 76 65 72 73 20 61 6e 64 20 4d 53 20 41 44 4f 20 28 75 73 69 .to.LDAP.servers.and.MS.ADO.(usi
05c0 6e 67 20 43 4f 4d 29 20 61 72 65 20 61 6c 73 6f 20 61 76 61 69 62 6c 65 20 66 72 6f 6d 20 61 20 ng.COM).are.also.avaible.from.a.
05e0 73 65 70 61 72 61 74 65 20 70 61 63 6b 61 67 65 29 2e 3c 2f 64 65 73 63 72 69 70 74 69 6f 6e 3e separate.package).</description>
0600 0a 20 20 3c 6d 61 69 6e 74 61 69 6e 65 72 73 3e 0a 20 20 20 20 3c 6d 61 69 6e 74 61 69 6e 65 72 ...<maintainers>.....<maintainer
0620 3e 0a 20 20 20 20 20 20 3c 75 73 65 72 3e 73 73 62 3c 2f 75 73 65 72 3e 0a 20 20 20 20 20 20 3c >.......<user>ssb</user>.......<
0640 6e 61 6d 65 3e 53 74 69 67 20 53 e6 74 68 65 72 20 42 61 6b 6b 65 6e 3c 2f 6e 61 6d 65 3e 0a 20 name>Stig.S.ther.Bakken</name>..
0660 20 20 20 20 20 3c 65 6d 61 69 6c 3e 73 74 69 67 40 70 68 70 2e 6e 65 74 3c 2f 65 6d 61 69 6c 3e .....<email>stig@php.net</email>
0680 0a 20 20 20 20 20 20 3c 72 6f 6c 65 3e 6c 65 61 64 3c 2f 72 6f 6c 65 3e 0a 20 20 20 20 3c 2f 6d .......<role>lead</role>.....</m
06a0 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 3c 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 aintainer>.....<maintainer>.....
06c0 20 20 3c 75 73 65 72 3e 63 6f 78 3c 2f 75 73 65 72 3e 0a 20 20 20 20 20 20 3c 6e 61 6d 65 3e 54 ..<user>cox</user>.......<name>T
06e0 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 3c 2f 6e 61 6d 65 3e 0a 20 20 20 20 20 20 3c 65 6d 61 69 6c omas.V.V.Cox</name>.......<email
0700 3e 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3c 2f 65 6d 61 69 6c 3e 0a 20 20 20 20 20 20 3c >cox@idecnet.com</email>.......<
0720 72 6f 6c 65 3e 64 65 76 65 6c 6f 70 65 72 3c 2f 72 6f 6c 65 3e 0a 20 20 20 20 3c 2f 6d 61 69 6e role>developer</role>.....</main
0740 74 61 69 6e 65 72 3e 0a 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 73 3e 0a 20 20 3c 72 65 6c 65 tainer>...</maintainers>...<rele
0760 61 73 65 3e 0a 20 20 20 20 3c 76 65 72 73 69 6f 6e 3e 31 2e 33 3c 2f 76 65 72 73 69 6f 6e 3e 0a ase>.....<version>1.3</version>.
0780 20 20 20 20 3c 64 61 74 65 3e 32 30 30 32 2d 30 37 2d 30 34 3c 2f 64 61 74 65 3e 0a 20 20 20 20 ....<date>2002-07-04</date>.....
07a0 3c 6c 69 63 65 6e 73 65 3e 50 48 50 20 4c 69 63 65 6e 73 65 3c 2f 6c 69 63 65 6e 73 65 3e 0a 20 <license>PHP.License</license>..
07c0 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c 65 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 3c 6e 6f ...<state>stable</state>.....<no
07e0 74 65 73 3e 4e 65 77 20 46 65 61 74 75 72 65 73 3a 0a 2d 20 41 64 64 65 64 20 6e 65 77 20 6f 70 tes>New.Features:.-.Added.new.op
0800 74 69 6f 6e 20 26 71 75 6f 74 3b 61 75 74 6f 66 72 65 65 26 71 75 6f 74 3b 2c 20 77 68 69 63 68 tion.&quot;autofree&quot;,.which
0820 20 77 69 6c 6c 20 66 72 65 65 20 74 68 65 20 72 65 73 75 6c 74 20 61 75 74 6f 6d 61 74 69 63 61 .will.free.the.result.automatica
0840 6c 6c 79 20 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 72 6f 77 73 2e lly.when.there.are.no.more.rows.
0860 0a 55 73 65 20 69 74 20 77 69 74 68 3a 20 24 64 62 20 3d 20 44 42 3a 3a 63 6f 6e 6e 65 63 74 28 .Use.it.with:.$db.=.DB::connect(
0880 24 64 73 6e 2c 20 61 72 72 61 79 28 27 61 75 74 6f 66 72 65 65 27 20 3d 26 67 74 3b 20 74 72 75 $dsn,.array('autofree'.=&gt;.tru
08a0 65 29 29 3b 0a 2d 20 41 64 64 65 64 20 6e 65 77 20 6d 65 74 68 6f 64 73 3a 20 62 75 69 6c 64 4d e));.-.Added.new.methods:.buildM
08c0 61 6e 69 70 53 51 4c 28 29 2c 20 61 75 74 6f 50 72 65 70 61 72 65 28 29 20 61 6e 64 20 61 75 74 anipSQL(),.autoPrepare().and.aut
08e0 6f 45 78 65 63 75 74 65 28 29 0a 2d 20 44 72 6f 70 70 65 64 20 61 6c 6c 20 72 65 66 65 72 65 6e oExecute().-.Dropped.all.referen
0900 63 65 73 20 74 6f 20 74 68 65 20 75 6e 75 73 65 64 20 44 42 5f 57 61 72 6e 69 6e 67 20 63 6c 61 ces.to.the.unused.DB_Warning.cla
0920 73 73 0a 2d 20 41 64 64 65 64 20 6e 65 77 20 64 72 69 76 65 72 20 44 42 5f 41 64 6f 20 28 61 73 ss.-.Added.new.driver.DB_Ado.(as
0940 20 61 20 73 65 70 70 61 72 61 74 65 20 70 61 63 6b 61 67 65 29 2c 20 63 6f 6e 74 72 69 62 75 74 .a.sepparate.package),.contribut
0960 65 64 20 62 79 20 41 6c 65 78 69 6f 73 20 46 61 6b 6f 73 29 0a 0a 42 75 67 73 20 66 69 78 65 64 ed.by.Alexios.Fakos)..Bugs.fixed
0980 3a 0a 2d 20 46 69 78 20 4d 53 20 53 51 4c 20 73 65 72 76 65 72 20 6d 75 6c 74 69 70 6c 65 20 63 :.-.Fix.MS.SQL.server.multiple.c
09a0 6f 6e 6e 65 63 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 65 20 73 61 6d 65 20 73 63 72 69 70 74 onnections.under.the.same.script
09c0 0a 2d 20 54 68 65 20 4d 79 53 51 4c 20 64 72 69 76 65 72 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65 .-.The.MySQL.driver.no.longer.ne
09e0 65 64 73 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 64 61 74 61 62 61 73 65 20 28 61 6c 6c 6f 77 eds.to.specify.a.database.(allow
0a00 69 6e 67 20 71 75 65 72 69 65 73 0a 77 69 74 68 20 74 68 65 20 73 74 79 6c 65 20 64 61 74 61 62 ing.queries.with.the.style.datab
0a20 61 73 65 2e 74 61 62 6c 65 29 0a 2d 20 46 69 78 20 70 61 72 73 65 44 53 4e 28 29 20 74 6f 20 6e ase.table).-.Fix.parseDSN().to.n
0a40 6f 74 20 63 6f 6e 66 75 73 65 20 61 6e 20 4f 72 61 63 6c 65 20 54 53 4e 20 77 69 74 68 20 74 68 ot.confuse.an.Oracle.TSN.with.th
0a60 65 20 70 72 6f 74 6f 63 6f 6c 0a 2d 20 41 64 61 70 74 20 74 68 65 20 74 65 73 74 73 20 70 61 74 e.protocol.-.Adapt.the.tests.pat
0a80 68 73 20 74 6f 20 77 6f 72 6b 20 77 69 74 68 20 74 68 65 20 6e 65 77 20 26 71 75 6f 74 3b 70 65 hs.to.work.with.the.new.&quot;pe
0aa0 61 72 20 72 75 6e 2d 74 65 73 74 73 26 71 75 6f 74 3b 20 28 64 6f 20 61 20 26 71 75 6f 74 3b 70 ar.run-tests&quot;.(do.a.&quot;p
0ac0 65 61 72 20 64 6f 77 6e 6c 6f 61 64 20 44 42 26 71 75 6f 74 3b 2c 20 75 6e 63 6f 6d 70 72 65 73 ear.download.DB&quot;,.uncompres
0ae0 73 0a 74 68 65 20 70 61 63 6b 61 67 65 20 61 6e 64 20 72 75 6e 20 26 71 75 6f 74 3b 70 65 61 72 s.the.package.and.run.&quot;pear
0b00 20 72 75 6e 2d 74 65 73 74 73 20 74 65 73 74 73 26 71 75 6f 74 3b 29 2e 0a 2d 20 46 69 78 20 6e .run-tests.tests&quot;)..-.Fix.n
0b20 75 6d 52 6f 77 73 28 29 20 69 6e 20 4f 72 61 63 6c 65 20 64 72 69 76 65 72 2c 20 74 68 61 74 20 umRows().in.Oracle.driver,.that.
0b40 77 61 73 20 66 61 69 6c 69 6e 67 20 77 68 65 6e 20 75 73 69 6e 67 20 26 71 75 6f 74 3b 44 49 53 was.failing.when.using.&quot;DIS
0b60 54 49 4e 43 54 26 71 75 6f 74 3b 20 69 6e 20 71 75 65 72 79 2e 20 28 42 75 67 20 23 31 37 39 38 TINCT&quot;.in.query..(Bug.#1798
0b80 39 29 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 3c 66 69 6c 65 6c 69 73 74 3e 0a 20 20 20 20 20 20 9)</notes>.....<filelist>.......
0ba0 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 3d <file.role="php".baseinstalldir=
0bc0 22 2f 22 20 6d 64 35 73 75 6d 3d 22 62 64 62 30 64 33 37 39 30 33 35 31 32 37 38 63 30 37 37 39 "/".md5sum="bdb0d3790351278c0779
0be0 37 37 62 30 34 62 35 35 65 64 30 37 22 20 6e 61 6d 65 3d 22 44 42 2e 70 68 70 22 2f 3e 0a 20 20 77b04b55ed07".name="DB.php"/>...
0c00 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 31 33 61 ....<file.role="php".md5sum="13a
0c20 36 31 32 35 66 64 36 35 63 31 31 63 37 62 64 65 64 39 37 62 66 63 64 64 36 35 37 66 33 22 20 6e 6125fd65c11c7bded97bfcdd657f3".n
0c40 61 6d 65 3d 22 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c ame="DB/common.php"/>.......<fil
0c60 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 32 37 66 63 37 39 62 61 65 61 34 e.role="php".md5sum="27fc79baea4
0c80 35 33 34 34 66 62 63 66 37 36 32 35 37 61 36 31 37 61 66 64 63 22 20 6e 61 6d 65 3d 22 44 42 2f 5344fbcf76257a617afdc".name="DB/
0ca0 64 62 61 73 65 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 dbase.php"/>.......<file.role="p
0cc0 68 70 22 20 6d 64 35 73 75 6d 3d 22 66 61 66 31 63 34 37 30 37 64 37 37 34 30 61 33 38 61 62 65 hp".md5sum="faf1c4707d7740a38abe
0ce0 38 37 63 66 66 37 33 33 30 36 64 62 22 20 6e 61 6d 65 3d 22 44 42 2f 66 62 73 71 6c 2e 70 68 70 87cff73306db".name="DB/fbsql.php
0d00 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 "/>.......<file.role="php".md5su
0d20 6d 3d 22 66 66 33 64 34 32 65 66 30 31 32 34 37 35 34 35 35 32 62 37 30 63 36 34 32 31 37 66 32 m="ff3d42ef0124754552b70c64217f2
0d40 39 35 30 22 20 6e 61 6d 65 3d 22 44 42 2f 69 62 61 73 65 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 950".name="DB/ibase.php"/>......
0d60 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 38 31 61 31 65 36 .<file.role="php".md5sum="81a1e6
0d80 38 66 31 39 61 31 34 30 37 66 37 37 39 62 39 64 62 64 65 31 61 38 64 61 66 32 22 20 6e 61 6d 65 8f19a1407f779b9dbde1a8daf2".name
0da0 3d 22 44 42 2f 69 66 78 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 ="DB/ifx.php"/>.......<file.role
0dc0 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 65 31 39 64 37 33 34 30 31 63 64 38 66 64 39 36 63 ="php".md5sum="e19d73401cd8fd96c
0de0 30 32 65 64 61 30 66 34 36 33 39 35 39 31 30 22 20 6e 61 6d 65 3d 22 44 42 2f 6d 73 71 6c 2e 70 02eda0f46395910".name="DB/msql.p
0e00 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 hp"/>.......<file.role="php".md5
0e20 73 75 6d 3d 22 39 37 61 30 37 37 65 63 66 66 33 65 63 31 39 30 66 33 63 63 65 30 32 38 34 39 65 sum="97a077ecff3ec190f3cce02849e
0e40 30 33 38 64 64 22 20 6e 61 6d 65 3d 22 44 42 2f 6d 73 73 71 6c 2e 70 68 70 22 2f 3e 0a 20 20 20 038dd".name="DB/mssql.php"/>....
0e60 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 63 61 62 61 ...<file.role="php".md5sum="caba
0e80 36 38 30 31 38 66 33 36 32 62 34 34 35 61 33 37 65 61 31 31 33 63 64 36 34 36 66 66 22 20 6e 61 68018f362b445a37ea113cd646ff".na
0ea0 6d 65 3d 22 44 42 2f 6d 79 73 71 6c 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 me="DB/mysql.php"/>.......<file.
0ec0 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 38 32 63 36 63 63 34 33 38 31 39 38 39 role="php".md5sum="82c6cc4381989
0ee0 30 39 34 36 36 65 33 62 66 30 38 31 32 36 64 33 38 66 32 22 20 6e 61 6d 65 3d 22 44 42 2f 6f 63 09466e3bf08126d38f2".name="DB/oc
0f00 69 38 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 i8.php"/>.......<file.role="php"
0f20 20 6d 64 35 73 75 6d 3d 22 35 35 35 62 37 34 38 32 62 34 64 39 63 34 64 66 35 37 30 33 66 38 39 .md5sum="555b7482b4d9c4df5703f89
0f40 33 34 38 34 38 64 36 30 66 22 20 6e 61 6d 65 3d 22 44 42 2f 6f 64 62 63 2e 70 68 70 22 2f 3e 0a 34848d60f".name="DB/odbc.php"/>.
0f60 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 31 ......<file.role="php".md5sum="1
0f80 63 62 39 65 39 37 63 38 61 66 33 62 33 63 36 38 62 35 64 37 38 34 63 37 32 33 38 33 33 35 66 22 cb9e97c8af3b3c68b5d784c7238335f"
0fa0 20 6e 61 6d 65 3d 22 44 42 2f 70 67 73 71 6c 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 .name="DB/pgsql.php"/>.......<fi
0fc0 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 34 30 34 38 63 39 38 37 63 33 le.role="php".md5sum="4048c987c3
0fe0 63 36 31 37 30 62 65 35 61 30 30 32 39 37 31 64 38 32 62 32 33 63 22 20 6e 61 6d 65 3d 22 44 42 c6170be5a002971d82b23c".name="DB
1000 2f 73 79 62 61 73 65 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d /sybase.php"/>.......<file.role=
1020 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 64 34 61 30 31 30 34 39 66 33 37 34 31 32 34 39 31 62 "php".md5sum="d4a01049f37412491b
1040 39 36 31 62 61 61 65 37 36 63 33 36 30 33 22 20 6e 61 6d 65 3d 22 44 42 2f 73 74 6f 72 61 67 65 961baae76c3603".name="DB/storage
1060 2e 70 68 70 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 64 6f 63 22 20 6d .php"/>.......<file.role="doc".m
1080 64 35 73 75 6d 3d 22 36 35 31 61 36 34 34 62 36 66 33 34 39 35 66 63 33 39 32 37 39 64 37 35 62 d5sum="651a644b6f3495fc39279d75b
10a0 38 30 39 39 33 37 32 22 20 6e 61 6d 65 3d 22 44 42 2f 49 44 45 41 53 22 2f 3e 0a 20 20 20 20 20 8099372".name="DB/IDEAS"/>......
10c0 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 64 6f 63 22 20 6d 64 35 73 75 6d 3d 22 36 39 61 38 37 37 .<file.role="doc".md5sum="69a877
10e0 38 39 66 34 32 34 62 33 63 35 37 30 64 30 36 34 32 63 66 33 38 64 37 35 31 38 22 20 6e 61 6d 65 89f424b3c570d0642cf38d7518".name
1100 3d 22 44 42 2f 4d 41 49 4e 54 41 49 4e 45 52 53 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 ="DB/MAINTAINERS"/>.......<file.
1120 72 6f 6c 65 3d 22 64 6f 63 22 20 6d 64 35 73 75 6d 3d 22 64 31 38 63 65 38 32 37 36 63 63 64 65 role="doc".md5sum="d18ce8276ccde
1140 34 36 63 63 39 37 39 61 37 33 36 33 31 31 35 61 35 63 31 22 20 6e 61 6d 65 3d 22 44 42 2f 53 54 46cc979a7363115a5c1".name="DB/ST
1160 41 54 55 53 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 64 6f 63 22 20 6d ATUS"/>.......<file.role="doc".m
1180 64 35 73 75 6d 3d 22 36 63 34 62 32 33 30 66 36 34 36 62 33 65 66 38 63 66 62 34 33 64 64 31 37 d5sum="6c4b230f646b3ef8cfb43dd17
11a0 34 65 35 32 64 35 37 22 20 6e 61 6d 65 3d 22 44 42 2f 54 45 53 54 45 52 53 22 2f 3e 0a 20 20 20 4e52d57".name="DB/TESTERS"/>....
11c0 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 66 32 31 ...<file.role="test".md5sum="f21
11e0 63 38 36 63 63 39 63 32 36 34 38 66 36 61 35 32 62 37 63 63 64 39 30 63 63 38 65 63 33 22 20 6e c86cc9c2648f6a52b7ccd90cc8ec3".n
1200 61 6d 65 3d 22 74 65 73 74 73 2f 64 62 5f 65 72 72 6f 72 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 ame="tests/db_error.phpt"/>.....
1220 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 38 36 62 32 ..<file.role="test".md5sum="86b2
1240 38 64 32 32 30 31 39 38 35 32 35 31 37 39 34 63 62 32 30 65 65 65 30 33 38 34 31 61 22 20 6e 61 8d2201985251794cb20eee03841a".na
1260 6d 65 3d 22 74 65 73 74 73 2f 64 62 5f 70 61 72 73 65 64 73 6e 2e 70 68 70 74 22 2f 3e 0a 20 20 me="tests/db_parsedsn.phpt"/>...
1280 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 64 64 ....<file.role="test".md5sum="dd
12a0 34 64 65 32 37 64 39 35 65 38 37 32 66 36 33 65 30 30 35 34 61 32 34 30 61 38 38 66 61 31 22 20 4de27d95e872f63e0054a240a88fa1".
12c0 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 62 5f 66 61 63 74 6f 72 79 2e 70 68 70 74 22 2f 3e 0a 20 name="tests/db_factory.phpt"/>..
12e0 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 39 .....<file.role="test".md5sum="9
1300 64 65 39 32 36 62 66 35 36 36 38 65 31 39 31 30 61 39 35 66 39 39 39 64 32 63 62 65 65 65 36 22 de926bf5668e1910a95f999d2cbeee6"
1320 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 62 5f 69 73 6d 61 6e 69 70 2e 70 68 70 74 22 2f 3e 0a .name="tests/db_ismanip.phpt"/>.
1340 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 ......<file.role="test".md5sum="
1360 64 64 63 66 65 39 31 39 37 61 38 38 37 39 30 62 33 33 61 33 63 63 64 61 39 35 37 65 63 31 64 31 ddcfe9197a88790b33a3ccda957ec1d1
1380 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 62 5f 65 72 72 6f 72 32 2e 70 68 70 74 22 2f 3e 0a ".name="tests/db_error2.phpt"/>.
13a0 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 ......<file.role="test".md5sum="
13c0 33 36 38 38 36 37 30 64 65 31 35 34 63 64 38 30 37 66 64 33 33 64 36 33 61 36 65 30 64 35 30 63 3688670de154cd807fd33d63a6e0d50c
13e0 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 63 69 38 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 ".name="tests/oci8/06prepexec.ph
1400 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 pt"/>.......<file.role="test".md
1420 35 73 75 6d 3d 22 35 66 34 66 36 66 38 30 35 31 39 37 32 33 34 34 64 66 36 65 63 32 39 36 66 30 5sum="5f4f6f8051972344df6ec296f0
1440 62 61 34 31 65 37 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 63 69 38 2f 30 38 61 66 66 65 63 ba41e7".name="tests/oci8/08affec
1460 74 65 64 72 6f 77 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 tedrows.phpt"/>.......<file.role
1480 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 35 63 63 61 61 37 33 62 33 66 63 63 61 62 62 62 ="test".md5sum="5ccaa73b3fccabbb
14a0 64 64 61 30 34 34 37 39 65 34 32 63 63 33 30 66 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 63 dda04479e42cc30f".name="tests/oc
14c0 69 38 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 i8/09numrows.phpt"/>.......<file
14e0 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 39 32 37 62 63 37 37 61 39 66 63 .role="test".md5sum="927bc77a9fc
1500 38 32 36 63 64 63 33 37 36 63 36 38 35 61 61 39 61 32 66 39 38 22 20 6e 61 6d 65 3d 22 74 65 73 826cdc376c685aa9a2f98".name="tes
1520 74 73 2f 6f 63 69 38 2f 31 33 6c 69 6d 69 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 ts/oci8/13limit.phpt"/>.......<f
1540 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 61 66 36 31 66 31 65 39 ile.role="test".md5sum="af61f1e9
1560 39 31 36 31 62 38 37 39 64 34 31 61 32 61 31 32 61 61 37 39 64 34 31 66 22 20 6e 61 6d 65 3d 22 9161b879d41a2a12aa79d41f".name="
1580 74 65 73 74 73 2f 6f 63 69 38 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 68 70 74 22 2f 3e 0a 20 tests/oci8/05sequences.phpt"/>..
15a0 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 36 .....<file.role="test".md5sum="6
15c0 30 61 61 33 63 61 30 36 65 39 32 38 31 32 31 65 38 35 30 36 35 64 66 65 33 30 63 61 64 31 36 22 0aa3ca06e928121e85065dfe30cad16"
15e0 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 63 69 38 2f 30 37 65 72 72 6f 72 6e 61 74 69 76 65 2e .name="tests/oci8/07errornative.
1600 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 phpt"/>.......<file.role="test".
1620 6d 64 35 73 75 6d 3d 22 62 35 36 33 34 35 64 33 36 30 38 37 30 34 65 66 34 32 63 64 38 38 35 61 md5sum="b56345d3608704ef42cd885a
1640 39 37 39 65 38 32 66 32 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 63 69 38 2f 30 31 63 6f 6e 979e82f2".name="tests/oci8/01con
1660 6e 65 63 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 nect.phpt"/>.......<file.role="t
1680 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 62 38 39 61 61 61 66 31 36 32 34 61 30 30 65 38 39 62 38 est".md5sum="b89aaaf1624a00e89b8
16a0 31 30 37 30 66 65 61 64 39 61 31 65 64 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 63 69 38 2f 1070fead9a1ed".name="tests/oci8/
16c0 31 30 65 72 72 6f 72 6d 61 70 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 10errormap.phpt"/>.......<file.r
16e0 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 34 38 61 61 61 39 30 38 64 30 38 34 38 ole="test".md5sum="48aaa908d0848
1700 32 61 34 31 61 30 39 34 39 34 38 62 62 36 61 36 35 63 34 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2a41a094948bb6a65c4".name="tests
1720 2f 6f 63 69 38 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 /oci8/04numcols.phpt"/>.......<f
1740 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 62 33 35 34 61 30 39 33 ile.role="test".md5sum="b354a093
1760 30 31 34 37 66 31 33 62 64 31 37 63 39 31 38 63 62 30 38 65 30 38 61 36 22 20 6e 61 6d 65 3d 22 0147f13bd17c918cb08e08a6".name="
1780 74 65 73 74 73 2f 6f 63 69 38 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 2e 70 68 70 74 22 2f 3e tests/oci8/03simplequery.phpt"/>
17a0 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d .......<file.role="test".md5sum=
17c0 22 36 35 62 39 32 35 30 33 35 31 38 61 30 34 37 62 35 36 64 32 36 66 63 37 37 61 35 32 32 34 38 "65b92503518a047b56d26fc77a52248
17e0 38 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 63 69 38 2f 30 32 66 65 74 63 68 2e 70 68 70 74 8".name="tests/oci8/02fetch.phpt
1800 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 "/>.......<file.role="test".md5s
1820 75 6d 3d 22 35 37 35 30 37 33 61 37 34 31 63 62 39 62 31 65 31 38 39 61 62 32 39 32 35 35 37 32 um="575073a741cb9b1e189ab2925572
1840 30 66 34 31 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 64 62 63 2f 30 36 70 72 65 70 65 78 65 0f41".name="tests/odbc/06prepexe
1860 63 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 c.phpt"/>.......<file.role="test
1880 22 20 6d 64 35 73 75 6d 3d 22 62 37 33 30 64 63 62 61 32 32 33 35 35 66 39 64 64 61 65 31 39 38 ".md5sum="b730dcba22355f9ddae198
18a0 34 34 30 64 63 39 35 32 66 31 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 64 62 63 2f 30 39 6e 440dc952f1".name="tests/odbc/09n
18c0 75 6d 72 6f 77 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d umrows.phpt"/>.......<file.role=
18e0 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 32 34 38 65 32 61 30 37 62 30 35 66 61 65 65 39 34 "test".md5sum="248e2a07b05faee94
1900 37 34 35 66 39 31 64 35 62 63 61 35 30 36 39 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 64 62 745f91d5bca5069".name="tests/odb
1920 63 2f 30 37 65 72 72 6f 72 6e 61 74 69 76 65 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 c/07errornative.phpt"/>.......<f
1940 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 33 65 35 62 38 35 37 33 ile.role="test".md5sum="3e5b8573
1960 38 33 33 39 66 62 61 33 66 63 37 62 38 30 64 36 61 39 39 36 33 37 64 61 22 20 6e 61 6d 65 3d 22 8339fba3fc7b80d6a99637da".name="
1980 74 65 73 74 73 2f 6f 64 62 63 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 tests/odbc/01connect.phpt"/>....
19a0 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 31 37 61 ...<file.role="test".md5sum="17a
19c0 33 38 37 34 39 37 64 66 38 63 64 36 63 38 31 34 37 35 65 32 34 64 62 64 30 30 32 61 36 22 20 6e 387497df8cd6c81475e24dbd002a6".n
19e0 61 6d 65 3d 22 74 65 73 74 73 2f 6f 64 62 63 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 68 70 74 22 ame="tests/odbc/10errormap.phpt"
1a00 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 />.......<file.role="test".md5su
1a20 6d 3d 22 30 65 64 66 66 39 34 62 62 38 31 66 38 30 63 64 63 61 35 32 36 35 38 36 37 65 37 61 30 m="0edff94bb81f80cdca5265867e7a0
1a40 62 37 39 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 64 62 63 2f 30 34 6e 75 6d 63 6f 6c 73 2e b79".name="tests/odbc/04numcols.
1a60 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 phpt"/>.......<file.role="test".
1a80 6d 64 35 73 75 6d 3d 22 31 30 63 39 33 38 62 62 39 62 62 62 38 34 66 39 63 38 38 33 65 34 62 35 md5sum="10c938bb9bbb84f9c883e4b5
1aa0 33 66 65 38 33 34 62 33 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 64 62 63 2f 30 33 73 69 6d 3fe834b3".name="tests/odbc/03sim
1ac0 70 6c 65 71 75 65 72 79 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c plequery.phpt"/>.......<file.rol
1ae0 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 63 62 35 34 39 35 36 37 61 35 32 38 62 30 65 e="test".md5sum="cb549567a528b0e
1b00 39 65 31 38 65 32 33 64 38 36 65 39 65 37 37 64 36 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6f 9e18e23d86e9e77d6".name="tests/o
1b20 64 62 63 2f 30 32 66 65 74 63 68 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 dbc/02fetch.phpt"/>.......<file.
1b40 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 35 31 38 32 65 63 62 31 39 35 65 34 role="test".md5sum="5182ecb195e4
1b60 34 32 32 31 66 65 37 63 63 36 31 38 64 61 35 66 62 36 35 33 22 20 6e 61 6d 65 3d 22 74 65 73 74 4221fe7cc618da5fb653".name="test
1b80 73 2f 69 62 61 73 65 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 s/ibase/06prepexec.phpt"/>......
1ba0 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 65 30 38 64 65 .<file.role="test".md5sum="e08de
1bc0 35 37 33 65 62 35 39 30 34 66 35 66 62 61 35 36 30 66 64 66 66 34 33 61 31 65 64 22 20 6e 61 6d 573eb5904f5fba560fdff43a1ed".nam
1be0 65 3d 22 74 65 73 74 73 2f 69 62 61 73 65 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 68 70 74 22 e="tests/ibase/05sequences.phpt"
1c00 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 />.......<file.role="test".md5su
1c20 6d 3d 22 35 39 64 66 37 66 65 34 35 32 34 38 31 33 37 39 30 34 32 37 33 61 63 33 32 31 65 31 62 m="59df7fe45248137904273ac321e1b
1c40 30 64 38 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 69 62 61 73 65 2f 30 31 63 6f 6e 6e 65 63 74 0d8".name="tests/ibase/01connect
1c60 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 .phpt"/>.......<file.role="test"
1c80 20 6d 64 35 73 75 6d 3d 22 32 35 64 62 31 31 30 34 65 34 64 37 66 61 65 63 66 65 30 30 33 36 39 .md5sum="25db1104e4d7faecfe00369
1ca0 36 63 62 33 32 30 62 35 34 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 69 62 61 73 65 2f 31 30 65 6cb320b54".name="tests/ibase/10e
1cc0 72 72 6f 72 6d 61 70 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 rrormap.phpt"/>.......<file.role
1ce0 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 66 66 62 34 61 39 34 66 33 61 33 63 63 62 64 33 ="test".md5sum="ffb4a94f3a3ccbd3
1d00 62 63 35 66 33 36 64 61 38 63 38 39 62 61 32 39 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 69 62 bc5f36da8c89ba29".name="tests/ib
1d20 61 73 65 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c ase/04numcols.phpt"/>.......<fil
1d40 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 38 35 62 62 34 65 38 35 34 36 e.role="test".md5sum="85bb4e8546
1d60 38 65 30 38 38 61 65 38 36 36 61 64 64 33 30 33 39 64 63 30 65 33 22 20 6e 61 6d 65 3d 22 74 65 8e088ae866add3039dc0e3".name="te
1d80 73 74 73 2f 69 62 61 73 65 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 2e 70 68 70 74 22 2f 3e 0a sts/ibase/03simplequery.phpt"/>.
1da0 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 ......<file.role="test".md5sum="
1dc0 33 31 35 36 34 37 62 39 35 36 36 35 66 66 63 65 32 35 61 35 61 36 37 63 34 34 61 62 32 39 33 35 315647b95665ffce25a5a67c44ab2935
1de0 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 69 62 61 73 65 2f 30 32 66 65 74 63 68 2e 70 68 70 74 ".name="tests/ibase/02fetch.phpt
1e00 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 "/>.......<file.role="test".md5s
1e20 75 6d 3d 22 63 62 31 39 66 39 31 39 30 64 63 65 30 65 34 37 37 61 35 66 63 38 63 34 64 38 64 65 um="cb19f9190dce0e477a5fc8c4d8de
1e40 61 36 32 62 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 36 70 72 65 70 65 78 a62b".name="tests/mysql/06prepex
1e60 65 63 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 ec.phpt"/>.......<file.role="tes
1e80 74 22 20 6d 64 35 73 75 6d 3d 22 63 36 31 63 33 36 62 64 66 61 33 63 36 62 63 39 33 34 36 30 36 t".md5sum="c61c36bdfa3c6bc934606
1ea0 32 64 62 63 30 62 61 34 66 66 65 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 2dbc0ba4ffe".name="tests/mysql/0
1ec0 38 61 66 66 65 63 74 65 64 72 6f 77 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 8affectedrows.phpt"/>.......<fil
1ee0 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 32 30 38 31 30 37 61 37 38 64 e.role="test".md5sum="208107a78d
1f00 34 66 39 38 61 30 37 66 36 31 31 37 64 61 35 38 32 32 31 62 62 63 22 20 6e 61 6d 65 3d 22 74 65 4f98a07f6117da58221bbc".name="te
1f20 73 74 73 2f 6d 79 73 71 6c 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 sts/mysql/09numrows.phpt"/>.....
1f40 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 36 65 39 37 ..<file.role="test".md5sum="6e97
1f60 63 62 63 63 34 37 66 66 32 37 37 62 62 32 31 63 34 30 34 65 62 64 33 62 31 35 34 30 22 20 6e 61 cbcc47ff277bb21c404ebd3b1540".na
1f80 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 33 6c 69 6d 69 74 2e 70 68 70 74 22 2f 3e 0a me="tests/mysql/13limit.phpt"/>.
1fa0 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 ......<file.role="test".md5sum="
1fc0 66 33 63 39 61 34 34 65 32 30 38 63 64 34 64 35 61 64 33 31 65 31 33 61 62 64 32 32 66 62 62 61 f3c9a44e208cd4d5ad31e13abd22fbba
1fe0 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 35 73 65 71 75 65 6e 63 65 73 2e ".name="tests/mysql/05sequences.
2000 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 phpt"/>.......<file.role="test".
2020 6d 64 35 73 75 6d 3d 22 65 38 37 39 61 62 34 35 66 38 66 39 36 33 63 38 31 66 66 64 63 38 63 34 md5sum="e879ab45f8f963c81ffdc8c4
2040 39 33 33 30 37 61 31 64 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 37 65 72 93307a1d".name="tests/mysql/07er
2060 72 6f 72 6e 61 74 69 76 65 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f rornative.phpt"/>.......<file.ro
2080 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 31 65 37 61 63 31 63 65 38 35 34 63 35 62 le="test".md5sum="1e7ac1ce854c5b
20a0 66 66 33 63 65 30 64 39 38 66 32 34 64 39 34 63 62 35 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f ff3ce0d98f24d94cb5".name="tests/
20c0 6d 79 73 71 6c 2f 31 32 74 61 62 6c 65 69 6e 66 6f 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 mysql/12tableinfo.phpt"/>.......
20e0 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 63 61 37 65 65 66 <file.role="test".md5sum="ca7eef
2100 65 64 62 65 66 62 63 66 31 62 31 32 32 63 38 63 39 33 30 66 35 30 31 65 32 61 22 20 6e 61 6d 65 edbefbcf1b122c8c930f501e2a".name
2120 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 74 22 2f 3e 0a ="tests/mysql/01connect.phpt"/>.
2140 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 ......<file.role="test".md5sum="
2160 38 31 63 36 38 65 37 65 65 61 37 33 39 34 37 65 32 32 65 64 62 64 35 37 37 32 38 35 36 32 63 30 81c68e7eea73947e22edbd57728562c0
2180 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 ".name="tests/mysql/10errormap.p
21a0 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d hpt"/>.......<file.role="test".m
21c0 64 35 73 75 6d 3d 22 64 63 65 36 31 64 33 39 37 65 38 65 63 31 36 34 38 62 37 31 31 63 31 38 66 d5sum="dce61d397e8ec1648b711c18f
21e0 38 32 66 32 34 65 35 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 34 6e 75 6d 82f24e5".name="tests/mysql/04num
2200 63 6f 6c 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 cols.phpt"/>.......<file.role="t
2220 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 32 64 63 34 31 31 35 35 38 35 32 65 38 31 63 65 36 62 37 est".md5sum="2dc41155852e81ce6b7
2240 35 36 63 38 35 31 63 38 63 39 33 39 63 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 56c851c8c939c".name="tests/mysql
2260 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 /03simplequery.phpt"/>.......<fi
2280 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 64 62 30 39 38 64 35 63 35 le.role="test".md5sum="db098d5c5
22a0 34 66 35 37 34 36 38 64 39 30 66 39 35 64 62 37 38 65 31 62 61 32 66 22 20 6e 61 6d 65 3d 22 74 4f57468d90f95db78e1ba2f".name="t
22c0 65 73 74 73 2f 6d 79 73 71 6c 2f 31 34 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 2e 70 68 ests/mysql/14fetchmode_object.ph
22e0 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 pt"/>.......<file.role="test".md
2300 35 73 75 6d 3d 22 61 66 64 31 36 63 37 34 63 31 35 36 61 30 39 33 35 36 39 65 35 66 34 62 31 65 5sum="afd16c74c156a093569e5f4b1e
2320 63 38 65 34 32 64 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 32 66 65 74 63 c8e42d".name="tests/mysql/02fetc
2340 68 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 h.phpt"/>.......<file.role="test
2360 22 20 6d 64 35 73 75 6d 3d 22 64 38 62 62 30 33 62 36 37 66 63 66 35 39 32 30 32 64 66 35 34 62 ".md5sum="d8bb03b67fcf59202df54b
2380 39 30 64 35 33 64 66 66 63 35 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 36 90d53dffc5".name="tests/pgsql/06
23a0 70 72 65 70 65 78 65 63 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c prepexec.phpt"/>.......<file.rol
23c0 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 64 34 39 37 37 62 65 33 30 61 31 66 38 62 62 e="test".md5sum="d4977be30a1f8bb
23e0 33 30 39 34 32 39 62 31 66 65 31 39 32 66 33 38 38 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 309429b1fe192f388".name="tests/p
2400 67 73 71 6c 2f 31 31 74 72 61 6e 73 61 63 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 gsql/11transact.phpt"/>.......<f
2420 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 34 38 31 63 34 62 66 38 ile.role="test".md5sum="481c4bf8
2440 62 32 64 38 34 32 61 63 36 30 39 32 63 63 34 65 33 38 34 61 35 33 36 35 22 20 6e 61 6d 65 3d 22 b2d842ac6092cc4e384a5365".name="
2460 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 38 61 66 66 65 63 74 65 64 72 6f 77 73 2e 70 68 70 74 22 tests/pgsql/08affectedrows.phpt"
2480 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 />.......<file.role="test".md5su
24a0 6d 3d 22 36 37 35 35 39 36 65 61 62 38 34 35 39 61 37 65 61 31 30 35 66 30 66 35 39 61 39 30 35 m="675596eab8459a7ea105f0f59a905
24c0 30 61 38 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 39 6e 75 6d 72 6f 77 73 0a8".name="tests/pgsql/09numrows
24e0 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 .phpt"/>.......<file.role="test"
2500 20 6d 64 35 73 75 6d 3d 22 35 65 37 39 36 37 39 33 63 30 66 30 34 38 31 31 37 66 65 30 61 66 38 .md5sum="5e796793c0f048117fe0af8
2520 31 35 66 64 37 34 39 39 30 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 33 6c 15fd74990".name="tests/pgsql/13l
2540 69 6d 69 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 imit.phpt"/>.......<file.role="t
2560 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 63 38 63 36 66 38 63 31 61 38 30 30 64 65 32 34 63 32 34 est".md5sum="c8c6f8c1a800de24c24
2580 65 33 33 37 36 36 33 37 31 63 32 65 35 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c e33766371c2e5".name="tests/pgsql
25a0 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 /05sequences.phpt"/>.......<file
25c0 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 30 64 30 65 37 64 65 64 36 65 65 .role="test".md5sum="0d0e7ded6ee
25e0 30 61 62 35 37 32 34 32 62 39 35 32 64 36 63 34 34 34 34 39 36 22 20 6e 61 6d 65 3d 22 74 65 73 0ab57242b952d6c444496".name="tes
2600 74 73 2f 70 67 73 71 6c 2f 30 37 65 72 72 6f 72 6e 61 74 69 76 65 2e 70 68 70 74 22 2f 3e 0a 20 ts/pgsql/07errornative.phpt"/>..
2620 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 31 .....<file.role="test".md5sum="1
2640 31 32 36 30 61 35 37 36 36 37 64 61 65 63 64 36 33 33 37 34 34 36 36 66 30 62 34 62 65 37 37 22 1260a57667daecd63374466f0b4be77"
2660 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 .name="tests/pgsql/01connect.php
2680 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 t"/>.......<file.role="test".md5
26a0 73 75 6d 3d 22 65 64 36 32 36 64 63 65 35 34 30 64 33 65 34 36 30 64 65 34 66 33 31 30 63 37 31 sum="ed626dce540d3e460de4f310c71
26c0 63 62 62 37 32 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 30 65 72 72 6f 72 cbb72".name="tests/pgsql/10error
26e0 6d 61 70 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 map.phpt"/>.......<file.role="te
2700 73 74 22 20 6d 64 35 73 75 6d 3d 22 35 61 36 33 32 65 65 66 32 66 63 39 38 33 37 31 61 33 63 32 st".md5sum="5a632eef2fc98371a3c2
2720 39 34 38 37 66 38 65 37 38 39 38 33 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 9487f8e78983".name="tests/pgsql/
2740 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 04numcols.phpt"/>.......<file.ro
2760 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 30 66 37 65 32 65 34 33 66 35 61 62 30 33 le="test".md5sum="0f7e2e43f5ab03
2780 30 64 64 65 30 33 39 37 63 34 66 33 31 66 30 64 31 30 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 0dde0397c4f31f0d10".name="tests/
27a0 70 67 73 71 6c 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 pgsql/03simplequery.phpt"/>.....
27c0 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 39 61 31 62 ..<file.role="test".md5sum="9a1b
27e0 32 62 33 64 65 37 64 62 33 63 64 31 64 36 30 30 30 33 64 65 36 32 36 35 30 37 66 63 22 20 6e 61 2b3de7db3cd1d60003de626507fc".na
2800 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 34 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 me="tests/pgsql/14fetchmode_obje
2820 63 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 ct.phpt"/>.......<file.role="tes
2840 74 22 20 6d 64 35 73 75 6d 3d 22 61 35 35 66 63 33 65 32 30 39 63 34 39 64 61 62 30 65 30 66 38 t".md5sum="a55fc3e209c49dab0e0f8
2860 63 34 32 33 33 32 32 36 62 32 62 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 c4233226b2b".name="tests/pgsql/0
2880 32 66 65 74 63 68 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 2fetch.phpt"/>.......<file.role=
28a0 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 37 61 66 38 33 65 32 63 31 33 61 34 61 31 65 38 64 "test".md5sum="7af83e2c13a4a1e8d
28c0 30 34 64 32 62 61 63 33 65 65 61 30 65 63 30 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 04d2bac3eea0ec0".name="tests/dri
28e0 76 65 72 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 ver/06prepexec.phpt"/>.......<fi
2900 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 63 32 64 38 33 33 32 32 33 le.role="test".md5sum="c2d833223
2920 32 33 61 31 63 32 62 36 31 38 32 66 31 63 33 32 37 30 39 30 61 37 33 22 20 6e 61 6d 65 3d 22 74 23a1c2b6182f1c327090a73".name="t
2940 65 73 74 73 2f 64 72 69 76 65 72 2f 30 38 61 66 66 65 63 74 65 64 72 6f 77 73 2e 70 68 70 74 22 ests/driver/08affectedrows.phpt"
2960 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 />.......<file.role="test".md5su
2980 6d 3d 22 39 66 35 33 37 61 31 39 35 30 61 37 66 38 31 33 36 64 32 62 64 30 34 32 33 36 66 65 31 m="9f537a1950a7f8136d2bd04236fe1
29a0 33 65 35 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 39 6e 75 6d 72 6f 77 3e5".name="tests/driver/09numrow
29c0 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 s.phpt"/>.......<file.role="test
29e0 22 20 6d 64 35 73 75 6d 3d 22 32 34 33 34 38 31 61 35 32 32 34 65 37 38 61 34 64 61 63 31 65 30 ".md5sum="243481a5224e78a4dac1e0
2a00 39 36 63 38 39 35 37 63 32 38 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 96c8957c28".name="tests/driver/1
2a20 33 6c 69 6d 69 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 3limit.phpt"/>.......<file.role=
2a40 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 37 32 66 66 39 31 61 65 32 61 33 65 62 39 34 65 30 "test".md5sum="72ff91ae2a3eb94e0
2a60 33 66 66 30 66 31 39 61 61 66 62 38 32 30 30 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 3ff0f19aafb8200".name="tests/dri
2a80 76 65 72 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 ver/05sequences.phpt"/>.......<f
2aa0 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 65 61 30 64 39 33 32 35 ile.role="test".md5sum="ea0d9325
2ac0 37 31 61 36 63 32 31 61 32 62 65 63 39 31 38 33 39 38 33 66 64 37 62 61 22 20 6e 61 6d 65 3d 22 71a6c21a2bec9183983fd7ba".name="
2ae0 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 35 71 75 6f 74 65 2e 70 68 70 74 22 2f 3e 0a 20 20 20 tests/driver/15quote.phpt"/>....
2b00 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 33 65 39 ...<file.role="test".md5sum="3e9
2b20 64 62 37 65 32 37 35 63 34 33 63 31 35 32 31 34 62 33 65 36 34 66 38 65 39 34 39 36 66 22 20 6e db7e275c43c15214b3e64f8e9496f".n
2b40 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 74 ame="tests/driver/01connect.phpt
2b60 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 "/>.......<file.role="test".md5s
2b80 75 6d 3d 22 31 64 66 33 64 66 63 38 66 64 63 34 37 39 66 66 35 66 35 30 66 31 30 30 35 33 39 37 um="1df3dfc8fdc479ff5f50f1005397
2ba0 32 65 32 65 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 30 65 72 72 6f 72 2e2e".name="tests/driver/10error
2bc0 6d 61 70 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 map.phpt"/>.......<file.role="te
2be0 73 74 22 20 6d 64 35 73 75 6d 3d 22 64 34 32 62 31 63 66 38 66 61 37 36 65 39 36 66 61 31 39 62 st".md5sum="d42b1cf8fa76e96fa19b
2c00 62 61 62 65 34 31 64 63 64 63 37 61 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 76 65 72 babe41dcdc7a".name="tests/driver
2c20 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 /04numcols.phpt"/>.......<file.r
2c40 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 35 36 32 39 34 63 33 62 31 34 33 64 61 ole="test".md5sum="56294c3b143da
2c60 38 36 31 64 36 33 63 64 30 30 61 31 62 36 62 66 66 34 34 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 861d63cd00a1b6bff44".name="tests
2c80 2f 64 72 69 76 65 72 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 2e 70 68 70 74 22 2f 3e 0a 20 20 /driver/03simplequery.phpt"/>...
2ca0 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 37 38 ....<file.role="test".md5sum="78
2cc0 38 37 62 30 64 34 37 39 36 66 64 35 38 38 37 39 61 36 32 38 31 64 34 39 61 66 61 36 38 31 22 20 87b0d4796fd58879a6281d49afa681".
2ce0 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 34 66 65 74 63 68 6d 6f 64 65 5f 6f name="tests/driver/14fetchmode_o
2d00 62 6a 65 63 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 bject.phpt"/>.......<file.role="
2d20 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 61 39 32 31 65 36 31 66 33 64 65 35 32 30 61 62 63 61 test".md5sum="a921e61f3de520abca
2d40 37 33 62 61 65 32 66 39 63 37 39 63 31 31 22 20 6e 61 6d 65 3d 22 74 65 73 74 73 2f 64 72 69 76 73bae2f9c79c11".name="tests/driv
2d60 65 72 2f 30 32 66 65 74 63 68 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 3c 2f 66 69 6c 65 6c 69 73 er/02fetch.phpt"/>.....</filelis
2d80 74 3e 0a 20 20 3c 2f 72 65 6c 65 61 73 65 3e 0a 20 20 3c 63 68 61 6e 67 65 6c 6f 67 3e 0a 20 20 t>...</release>...<changelog>...
2da0 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 20 20 20 20 20 3c 76 65 72 73 69 6f 6e 3e 31 2e 32 3c 2f ..<release>.......<version>1.2</
2dc0 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 20 20 3c 64 61 74 65 3e 32 30 30 32 2d 30 34 2d 32 34 3c version>.......<date>2002-04-24<
2de0 2f 64 61 74 65 3e 0a 20 20 20 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c 65 3c 2f 73 74 61 74 /date>.......<state>stable</stat
2e00 65 3e 0a 20 20 20 20 20 20 3c 6e 6f 74 65 73 3e 46 69 72 73 74 20 70 61 63 6b 61 67 65 64 20 72 e>.......<notes>First.packaged.r
2e20 65 6c 65 61 73 65 2e 0a 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 3c 2f 72 65 6c 65 61 73 65 3e 0a elease..</notes>.....</release>.
2e40 20 20 3c 2f 63 68 61 6e 67 65 6c 6f 67 3e 0a 3c 2f 70 61 63 6b 61 67 65 3e 0a 00 00 00 00 00 00 ..</changelog>.</package>.......
2e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3000 44 42 2d 31 2e 33 2f 44 42 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB.php...................
3020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
3080 20 20 36 35 34 32 36 20 20 37 35 31 31 30 36 30 36 35 33 20 20 20 35 37 31 30 20 00 00 00 00 00 ..65426..7511060653...5710......
30a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3200 3c 3f 70 68 70 0a 2f 2a 20 76 69 6d 3a 20 73 65 74 20 65 78 70 61 6e 64 74 61 62 20 74 61 62 73 <?php./*.vim:.set.expandtab.tabs
3220 74 6f 70 3d 34 20 73 68 69 66 74 77 69 64 74 68 3d 34 3a 20 2a 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d top=4.shiftwidth=4:.*/.//.+-----
3240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3280 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 -+.//.|.PHP.Version.4...........
32a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
32c0 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .............|.//.+-------------
32e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3300 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 -------------------------+.//.|.
3320 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 Copyright.(c).1997-2002.The.PHP.
3340 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Group...........................
3360 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .....|.//.+---------------------
3380 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
33a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 -----------------+.//.|.This.sou
33c0 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 rce.file.is.subject.to.version.2
33e0 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f .02.of.the.PHP.license,......|./
3400 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 /.|.that.is.bundled.with.this.pa
3420 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 ckage.in.the.file.LICENSE,.and.i
3440 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 s........|.//.|.available.throug
3460 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c h.the.world-wide-web.at.the.foll
3480 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 owing.url:...........|.//.|.http
34a0 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e ://www.php.net/license/2_02.txt.
34c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
34e0 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 .|.//.|.If.you.did.not.receive.a
3500 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 .copy.of.the.PHP.license.and.are
3520 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 .unable.to...|.//.|.obtain.it.th
3540 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 rough.the.world-wide-web,.please
3560 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 .send.a.note.to..........|.//.|.
3580 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 license@php.net.so.we.can.mail.y
35a0 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 ou.a.copy.immediately...........
35c0 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .....|.//.+---------------------
35e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3600 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 73 3a -----------------+.//.|.Authors:
3620 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 73 62 40 66 61 73 74 2e 6e 6f 3e 20 20 20 20 20 20 .Stig.Bakken.<ssb@fast.no>......
3640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f .............................|./
3660 2f 20 7c 20 20 20 20 20 20 20 20 20 20 54 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 20 3c 63 6f 78 40 /.|..........Tomas.V.V.Cox.<cox@
3680 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 idecnet.com>....................
36a0 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .........|.//.+-----------------
36c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
36e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a 2f 2f 20 24 49 64 ---------------------+.//.//.$Id
3700 3a 20 44 42 2e 70 68 70 2c 76 20 31 2e 31 33 20 32 30 30 32 2f 30 37 2f 30 32 20 31 35 3a 31 39 :.DB.php,v.1.13.2002/07/02.15:19
3720 3a 34 39 20 63 6f 78 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 62 61 73 65 20 69 6e 64 :49.cox.Exp.$.//.//.Database.ind
3740 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 2e 0a 2f 2f 0a 0a 72 65 ependent.query.interface..//..re
3760 71 75 69 72 65 5f 6f 6e 63 65 20 22 50 45 41 52 2e 70 68 70 22 3b 0a 0a 2f 2a 0a 20 2a 20 54 68 quire_once."PEAR.php";../*..*.Th
3780 65 20 6d 65 74 68 6f 64 20 6d 61 70 45 72 72 6f 72 43 6f 64 65 20 69 6e 20 65 61 63 68 20 44 42 e.method.mapErrorCode.in.each.DB
37a0 5f 64 62 74 79 70 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6d 61 70 73 0a 20 2a 20 6e _dbtype.implementation.maps..*.n
37c0 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 73 ative.error.codes.to.one.of.thes
37e0 65 2e 0a 20 2a 0a 20 2a 20 49 66 20 79 6f 75 20 61 64 64 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 e...*..*.If.you.add.an.error.cod
3800 65 20 68 65 72 65 2c 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 61 6c 73 6f 20 61 64 64 20 61 e.here,.make.sure.you.also.add.a
3820 20 74 65 78 74 75 61 6c 0a 20 2a 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 20 69 6e 20 44 42 3a .textual..*.version.of.it.in.DB:
3840 3a 65 72 72 6f 72 4d 65 73 73 61 67 65 28 29 2e 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 22 44 42 :errorMessage()...*/..define("DB
3860 5f 4f 4b 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 29 _OK",.........................1)
3880 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 ;.define("DB_ERROR",............
38a0 20 20 20 20 20 20 20 20 20 2d 31 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 53 .........-1);.define("DB_ERROR_S
38c0 59 4e 54 41 58 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 32 29 3b 0a 64 65 66 69 6e 65 YNTAX",..............-2);.define
38e0 28 22 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 22 2c 20 20 20 20 20 20 20 20 20 ("DB_ERROR_CONSTRAINT",.........
3900 20 2d 33 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 .-3);.define("DB_ERROR_NOT_FOUND
3920 22 2c 20 20 20 20 20 20 20 20 20 20 20 2d 34 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 ",...........-4);.define("DB_ERR
3940 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 22 2c 20 20 20 20 20 20 2d 35 29 3b 0a 64 65 OR_ALREADY_EXISTS",......-5);.de
3960 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 55 4e 53 55 50 50 4f 52 54 45 44 22 2c 20 20 20 20 fine("DB_ERROR_UNSUPPORTED",....
3980 20 20 20 20 20 2d 36 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 4d 49 53 4d 41 .....-6);.define("DB_ERROR_MISMA
39a0 54 43 48 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 2d 37 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 TCH",............-7);.define("DB
39c0 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 38 29 _ERROR_INVALID",.............-8)
39e0 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 22 2c ;.define("DB_ERROR_NOT_CAPABLE",
3a00 20 20 20 20 20 20 20 20 20 2d 39 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 54 .........-9);.define("DB_ERROR_T
3a20 52 55 4e 43 41 54 45 44 22 2c 20 20 20 20 20 20 20 20 20 20 2d 31 30 29 3b 0a 64 65 66 69 6e 65 RUNCATED",..........-10);.define
3a40 28 22 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e 55 4d 42 45 52 22 2c 20 20 20 20 20 ("DB_ERROR_INVALID_NUMBER",.....
3a60 2d 31 31 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 -11);.define("DB_ERROR_INVALID_D
3a80 41 54 45 22 2c 20 20 20 20 20 20 20 2d 31 32 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 ATE",.......-12);.define("DB_ERR
3aa0 4f 52 5f 44 49 56 5a 45 52 4f 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 33 29 3b 0a 64 65 OR_DIVZERO",............-13);.de
3ac0 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 22 2c 20 20 20 fine("DB_ERROR_NODBSELECTED",...
3ae0 20 20 20 20 2d 31 34 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f ....-14);.define("DB_ERROR_CANNO
3b00 54 5f 43 52 45 41 54 45 22 2c 20 20 20 20 20 20 2d 31 35 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 T_CREATE",......-15);.define("DB
3b20 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 44 45 4c 45 54 45 22 2c 20 20 20 20 20 20 2d 31 36 29 _ERROR_CANNOT_DELETE",......-16)
3b40 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 44 52 4f 50 22 2c ;.define("DB_ERROR_CANNOT_DROP",
3b60 20 20 20 20 20 20 20 20 2d 31 37 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 4e ........-17);.define("DB_ERROR_N
3b80 4f 53 55 43 48 54 41 42 4c 45 22 2c 20 20 20 20 20 20 20 20 2d 31 38 29 3b 0a 64 65 66 69 6e 65 OSUCHTABLE",........-18);.define
3ba0 28 22 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 22 2c 20 20 20 20 20 20 20 20 ("DB_ERROR_NOSUCHFIELD",........
3bc0 2d 31 39 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 4e 45 45 44 5f 4d 4f 52 45 -19);.define("DB_ERROR_NEED_MORE
3be0 5f 44 41 54 41 22 2c 20 20 20 20 20 2d 32 30 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 _DATA",.....-20);.define("DB_ERR
3c00 4f 52 5f 4e 4f 54 5f 4c 4f 43 4b 45 44 22 2c 20 20 20 20 20 20 20 20 20 2d 32 31 29 3b 0a 64 65 OR_NOT_LOCKED",.........-21);.de
3c20 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 56 41 4c 55 45 5f 43 4f 55 4e 54 5f 4f 4e 5f 52 4f fine("DB_ERROR_VALUE_COUNT_ON_RO
3c40 57 22 2c 20 2d 32 32 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c W",.-22);.define("DB_ERROR_INVAL
3c60 49 44 5f 44 53 4e 22 2c 20 20 20 20 20 20 20 20 2d 32 33 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 ID_DSN",........-23);.define("DB
3c80 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 22 2c 20 20 20 20 20 2d 32 34 29 _ERROR_CONNECT_FAILED",.....-24)
3ca0 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 ;.define("DB_ERROR_EXTENSION_NOT
3cc0 5f 46 4f 55 4e 44 22 2c 2d 32 35 29 3b 0a 64 65 66 69 6e 65 28 22 44 42 5f 45 52 52 4f 52 5f 4e _FOUND",-25);.define("DB_ERROR_N
3ce0 4f 53 55 43 48 44 42 22 2c 20 20 20 20 20 20 20 20 20 20 20 2d 32 35 29 3b 0a 64 65 66 69 6e 65 OSUCHDB",...........-25);.define
3d00 28 22 44 42 5f 45 52 52 4f 52 5f 41 43 43 45 53 53 5f 56 49 4f 4c 41 54 49 4f 4e 22 2c 20 20 20 ("DB_ERROR_ACCESS_VIOLATION",...
3d20 2d 32 36 29 3b 0a 0a 2f 2a 0a 20 2a 20 57 61 72 6e 69 6e 67 73 20 61 72 65 20 6e 6f 74 20 64 65 -26);../*..*.Warnings.are.not.de
3d40 74 65 63 74 65 64 20 61 73 20 65 72 72 6f 72 73 20 62 79 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 tected.as.errors.by.DB::isError(
3d60 29 2c 20 61 6e 64 20 61 72 65 20 6e 6f 74 0a 20 2a 20 66 61 74 61 6c 2e 20 20 59 6f 75 20 63 61 ),.and.are.not..*.fatal...You.ca
3d80 6e 20 64 65 74 65 63 74 20 77 68 65 74 68 65 72 20 61 6e 20 65 72 72 6f 72 20 69 73 20 69 6e 20 n.detect.whether.an.error.is.in.
3da0 66 61 63 74 20 61 20 77 61 72 6e 69 6e 67 20 77 69 74 68 0a 20 2a 20 44 42 3a 3a 69 73 57 61 72 fact.a.warning.with..*.DB::isWar
3dc0 6e 69 6e 67 28 29 2e 0a 20 2a 0a 20 2a 20 40 64 65 70 72 65 63 61 74 65 64 0a 20 2a 2f 0a 0a 64 ning()...*..*.@deprecated..*/..d
3de0 65 66 69 6e 65 28 27 44 42 5f 57 41 52 4e 49 4e 47 27 2c 20 20 20 20 20 20 20 20 20 20 20 2d 31 efine('DB_WARNING',...........-1
3e00 30 30 30 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 57 41 52 4e 49 4e 47 5f 52 45 41 44 5f 4f 4e 000);.define('DB_WARNING_READ_ON
3e20 4c 59 27 2c 20 2d 31 30 30 31 29 3b 0a 0a 2f 2a 0a 20 2a 20 54 68 65 73 65 20 63 6f 6e 73 74 61 LY',.-1001);../*..*.These.consta
3e40 6e 74 73 20 61 72 65 20 75 73 65 64 20 77 68 65 6e 20 73 74 6f 72 69 6e 67 20 69 6e 66 6f 72 6d nts.are.used.when.storing.inform
3e60 61 74 69 6f 6e 20 61 62 6f 75 74 20 70 72 65 70 61 72 65 64 0a 20 2a 20 73 74 61 74 65 6d 65 6e ation.about.prepared..*.statemen
3e80 74 73 20 28 75 73 69 6e 67 20 74 68 65 20 22 70 72 65 70 61 72 65 22 20 6d 65 74 68 6f 64 20 69 ts.(using.the."prepare".method.i
3ea0 6e 20 44 42 5f 64 62 74 79 70 65 29 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 70 72 65 70 61 72 65 2f n.DB_dbtype)...*..*.The.prepare/
3ec0 65 78 65 63 75 74 65 20 6d 6f 64 65 6c 20 69 6e 20 44 42 20 69 73 20 6d 6f 73 74 6c 79 20 62 6f execute.model.in.DB.is.mostly.bo
3ee0 72 72 6f 77 65 64 20 66 72 6f 6d 20 74 68 65 20 4f 44 42 43 0a 20 2a 20 65 78 74 65 6e 73 69 6f rrowed.from.the.ODBC..*.extensio
3f00 6e 2c 20 69 6e 20 61 20 71 75 65 72 79 20 74 68 65 20 22 3f 22 20 63 68 61 72 61 63 74 65 72 20 n,.in.a.query.the."?".character.
3f20 6d 65 61 6e 73 20 61 20 73 63 61 6c 61 72 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 2a 20 54 68 65 means.a.scalar.parameter...*.The
3f40 72 65 20 61 72 65 20 74 77 6f 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 68 6f 75 67 68 2c 20 61 20 re.are.two.extensions.though,.a.
3f60 22 26 22 20 63 68 61 72 61 63 74 65 72 20 6d 65 61 6e 73 20 61 6e 20 6f 70 61 71 75 65 0a 20 2a "&".character.means.an.opaque..*
3f80 20 70 61 72 61 6d 65 74 65 72 2e 20 20 41 6e 20 6f 70 61 71 75 65 20 70 61 72 61 6d 65 74 65 72 .parameter...An.opaque.parameter
3fa0 20 69 73 20 73 69 6d 70 6c 79 20 61 20 66 69 6c 65 20 6e 61 6d 65 2c 20 74 68 65 20 72 65 61 6c .is.simply.a.file.name,.the.real
3fc0 0a 20 2a 20 64 61 74 61 20 61 72 65 20 69 6e 20 74 68 61 74 20 66 69 6c 65 20 28 75 73 65 66 75 ..*.data.are.in.that.file.(usefu
3fe0 6c 20 66 6f 72 20 70 75 74 74 69 6e 67 20 75 70 6c 6f 61 64 65 64 20 66 69 6c 65 73 20 69 6e 74 l.for.putting.uploaded.files.int
4000 6f 20 79 6f 75 72 0a 20 2a 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 73 75 63 68 29 2e 20 54 68 o.your..*.database.and.such)..Th
4020 65 20 22 21 22 20 63 68 61 72 20 6d 65 61 6e 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 74 68 61 e."!".char.means.a.parameter.tha
4040 74 20 6d 75 73 74 20 62 65 0a 20 2a 20 6c 65 66 74 20 61 73 20 69 74 20 69 73 2e 0a 20 2a 20 54 t.must.be..*.left.as.it.is...*.T
4060 68 65 79 20 6d 6f 64 69 66 79 20 74 68 65 20 71 75 6f 74 65 20 62 65 68 61 76 6f 69 72 3a 0a 20 hey.modify.the.quote.behavoir:..
4080 2a 20 44 42 5f 50 41 52 41 4d 5f 53 43 41 4c 41 52 20 28 3f 29 20 3d 3e 20 27 6f 72 69 67 69 6e *.DB_PARAM_SCALAR.(?).=>.'origin
40a0 61 6c 20 73 74 72 69 6e 67 20 71 75 6f 74 65 64 27 0a 20 2a 20 44 42 5f 50 41 52 41 4d 5f 4f 50 al.string.quoted'..*.DB_PARAM_OP
40c0 41 51 55 45 20 28 26 29 20 3d 3e 20 27 73 74 72 69 6e 67 20 66 72 6f 6d 20 66 69 6c 65 20 71 75 AQUE.(&).=>.'string.from.file.qu
40e0 6f 74 65 64 27 0a 20 2a 20 44 42 5f 50 41 52 41 4d 5f 4d 49 53 43 20 20 20 28 21 29 20 3d 3e 20 oted'..*.DB_PARAM_MISC...(!).=>.
4100 6f 72 69 67 69 6e 61 6c 20 73 74 72 69 6e 67 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f original.string..*/..define('DB_
4120 50 41 52 41 4d 5f 53 43 41 4c 41 52 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 50 41 PARAM_SCALAR',.1);.define('DB_PA
4140 52 41 4d 5f 4f 50 41 51 55 45 27 2c 20 32 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 50 41 52 41 RAM_OPAQUE',.2);.define('DB_PARA
4160 4d 5f 4d 49 53 43 27 2c 20 20 20 33 29 3b 0a 0a 2f 2a 0a 20 2a 20 54 68 65 73 65 20 63 6f 6e 73 M_MISC',...3);../*..*.These.cons
4180 74 61 6e 74 73 20 64 65 66 69 6e 65 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 6f 66 20 72 tants.define.different.ways.of.r
41a0 65 74 75 72 6e 69 6e 67 20 62 69 6e 61 72 79 20 64 61 74 61 0a 20 2a 20 66 72 6f 6d 20 71 75 65 eturning.binary.data..*.from.que
41c0 72 69 65 73 2e 20 20 41 67 61 69 6e 2c 20 74 68 69 73 20 6d 6f 64 65 6c 20 68 61 73 20 62 65 65 ries...Again,.this.model.has.bee
41e0 6e 20 62 6f 72 72 6f 77 65 64 20 66 72 6f 6d 20 74 68 65 20 4f 44 42 43 0a 20 2a 20 65 78 74 65 n.borrowed.from.the.ODBC..*.exte
4200 6e 73 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 44 42 5f 42 49 4e 4d 4f 44 45 5f 50 41 53 53 54 48 52 55 nsion...*..*.DB_BINMODE_PASSTHRU
4220 20 73 65 6e 64 73 20 74 68 65 20 64 61 74 61 20 64 69 72 65 63 74 6c 79 20 74 68 72 6f 75 67 68 .sends.the.data.directly.through
4240 20 74 6f 20 74 68 65 20 62 72 6f 77 73 65 72 0a 20 2a 20 77 68 65 6e 20 64 61 74 61 20 69 73 20 .to.the.browser..*.when.data.is.
4260 66 65 74 63 68 65 64 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 2a 20 44 42 fetched.from.the.database...*.DB
4280 5f 42 49 4e 4d 4f 44 45 5f 52 45 54 55 52 4e 20 6c 65 74 73 20 79 6f 75 20 72 65 74 75 72 6e 20 _BINMODE_RETURN.lets.you.return.
42a0 64 61 74 61 20 61 73 20 75 73 75 61 6c 2e 0a 20 2a 20 44 42 5f 42 49 4e 4d 4f 44 45 5f 43 4f 4e data.as.usual...*.DB_BINMODE_CON
42c0 56 45 52 54 20 72 65 74 75 72 6e 73 20 64 61 74 61 20 61 73 20 77 65 6c 6c 2c 20 6f 6e 6c 79 20 VERT.returns.data.as.well,.only.
42e0 69 74 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 0a 20 2a 20 68 65 78 20 66 6f 72 6d 61 74 it.is.converted.to..*.hex.format
4300 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 74 68 65 20 73 74 72 69 6e 67 20 22 31 32 33 22 20 77 ,.for.example.the.string."123".w
4320 6f 75 6c 64 20 62 65 63 6f 6d 65 20 22 33 31 33 32 33 33 22 2e 0a 20 2a 2f 0a 0a 64 65 66 69 6e ould.become."313233"...*/..defin
4340 65 28 27 44 42 5f 42 49 4e 4d 4f 44 45 5f 50 41 53 53 54 48 52 55 27 2c 20 31 29 3b 0a 64 65 66 e('DB_BINMODE_PASSTHRU',.1);.def
4360 69 6e 65 28 27 44 42 5f 42 49 4e 4d 4f 44 45 5f 52 45 54 55 52 4e 27 2c 20 20 20 32 29 3b 0a 64 ine('DB_BINMODE_RETURN',...2);.d
4380 65 66 69 6e 65 28 27 44 42 5f 42 49 4e 4d 4f 44 45 5f 43 4f 4e 56 45 52 54 27 2c 20 20 33 29 3b efine('DB_BINMODE_CONVERT',..3);
43a0 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 69 73 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 63 6f 6e 73 74 ../**..*.This.is.a.special.const
43c0 61 6e 74 20 74 68 61 74 20 74 65 6c 6c 73 20 44 42 20 74 68 65 20 75 73 65 72 20 68 61 73 6e 27 ant.that.tells.DB.the.user.hasn'
43e0 74 20 73 70 65 63 69 66 69 65 64 0a 20 2a 20 61 6e 79 20 70 61 72 74 69 63 75 6c 61 72 20 67 65 t.specified..*.any.particular.ge
4400 74 20 6d 6f 64 65 2c 20 73 6f 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 68 6f 75 6c 64 20 62 65 t.mode,.so.the.default.should.be
4420 20 75 73 65 64 2e 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 46 45 54 43 48 4d 4f 44 45 .used...*/..define('DB_FETCHMODE
4440 5f 44 45 46 41 55 4c 54 27 2c 20 30 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6c 75 6d 6e 20 64 61 _DEFAULT',.0);../**..*.Column.da
4460 74 61 20 69 6e 64 65 78 65 64 20 62 79 20 6e 75 6d 62 65 72 73 2c 20 6f 72 64 65 72 65 64 20 66 ta.indexed.by.numbers,.ordered.f
4480 72 6f 6d 20 30 20 61 6e 64 20 75 70 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 46 45 54 rom.0.and.up..*/..define('DB_FET
44a0 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 27 2c 20 31 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6c CHMODE_ORDERED',.1);../**..*.Col
44c0 75 6d 6e 20 64 61 74 61 20 69 6e 64 65 78 65 64 20 62 79 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 umn.data.indexed.by.column.names
44e0 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 ..*/..define('DB_FETCHMODE_ASSOC
4500 27 2c 20 32 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6c 75 6d 6e 20 64 61 74 61 20 61 73 20 6f 62 ',.2);../**..*.Column.data.as.ob
4520 6a 65 63 74 20 70 72 6f 70 65 72 74 69 65 73 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f ject.properties..*/..define('DB_
4540 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 27 2c 20 33 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 FETCHMODE_OBJECT',.3);../**..*.F
4560 6f 72 20 6d 75 6c 74 69 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 72 65 73 75 6c 74 73 3a 20 6e 6f or.multi-dimensional.results:.no
4580 72 6d 61 6c 6c 79 20 74 68 65 20 66 69 72 73 74 20 6c 65 76 65 6c 20 6f 66 20 61 72 72 61 79 73 rmally.the.first.level.of.arrays
45a0 0a 20 2a 20 69 73 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 2c 20 61 6e 64 20 74 68 65 20 73 ..*.is.the.row.number,.and.the.s
45c0 65 63 6f 6e 64 20 6c 65 76 65 6c 20 69 6e 64 65 78 65 64 20 62 79 20 63 6f 6c 75 6d 6e 20 6e 75 econd.level.indexed.by.column.nu
45e0 6d 62 65 72 20 6f 72 20 6e 61 6d 65 2e 0a 20 2a 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 46 4c mber.or.name...*.DB_FETCHMODE_FL
4600 49 50 50 45 44 20 73 77 69 74 63 68 65 73 20 74 68 69 73 20 6f 72 64 65 72 2c 20 73 6f 20 74 68 IPPED.switches.this.order,.so.th
4620 65 20 66 69 72 73 74 20 6c 65 76 65 6c 20 6f 66 20 61 72 72 61 79 73 0a 20 2a 20 69 73 20 74 68 e.first.level.of.arrays..*.is.th
4640 65 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 2c 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 6c 65 e.column.name,.and.the.second.le
4660 76 65 6c 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 2e 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 vel.the.row.number...*/..define(
4680 27 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 46 4c 49 50 50 45 44 27 2c 20 34 29 3b 0a 0a 2f 2a 20 'DB_FETCHMODE_FLIPPED',.4);../*.
46a0 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 for.compatibility.*/..define('DB
46c0 5f 47 45 54 4d 4f 44 45 5f 4f 52 44 45 52 45 44 27 2c 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f _GETMODE_ORDERED',.DB_FETCHMODE_
46e0 4f 52 44 45 52 45 44 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 47 45 54 4d 4f 44 45 5f 41 53 53 ORDERED);.define('DB_GETMODE_ASS
4700 4f 43 27 2c 20 20 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 3b 0a 64 65 66 69 OC',...DB_FETCHMODE_ASSOC);.defi
4720 6e 65 28 27 44 42 5f 47 45 54 4d 4f 44 45 5f 46 4c 49 50 50 45 44 27 2c 20 44 42 5f 46 45 54 43 ne('DB_GETMODE_FLIPPED',.DB_FETC
4740 48 4d 4f 44 45 5f 46 4c 49 50 50 45 44 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 74 68 65 73 65 20 61 72 HMODE_FLIPPED);../**..*.these.ar
4760 65 20 63 6f 6e 73 74 61 6e 74 73 20 66 6f 72 20 74 68 65 20 74 61 62 6c 65 49 6e 66 6f 2d 66 75 e.constants.for.the.tableInfo-fu
4780 6e 63 74 69 6f 6e 0a 20 2a 20 74 68 65 79 20 61 72 65 20 62 69 74 77 69 73 65 64 20 6f 72 27 65 nction..*.they.are.bitwised.or'e
47a0 64 2e 20 73 6f 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 63 6f 6e 73 74 61 6e 74 d..so.if.there.are.more.constant
47c0 73 20 74 6f 20 62 65 20 64 65 66 69 6e 65 64 0a 20 2a 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 s.to.be.defined..*.in.the.future
47e0 2c 20 61 64 6a 75 73 74 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 46 55 4c 4c 20 61 63 63 6f 72 ,.adjust.DB_TABLEINFO_FULL.accor
4800 64 69 6e 67 6c 79 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 54 41 42 4c 45 49 4e 46 4f dingly..*/..define('DB_TABLEINFO
4820 5f 4f 52 44 45 52 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 54 41 42 4c 45 49 4e 46 _ORDER',.1);.define('DB_TABLEINF
4840 4f 5f 4f 52 44 45 52 54 41 42 4c 45 27 2c 20 32 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 54 41 O_ORDERTABLE',.2);.define('DB_TA
4860 42 4c 45 49 4e 46 4f 5f 46 55 4c 4c 27 2c 20 33 29 3b 0a 0a 2f 2a 0a 20 2a 20 55 73 65 64 20 62 BLEINFO_FULL',.3);../*..*.Used.b
4880 79 20 61 75 74 6f 50 72 65 70 61 72 65 28 29 0a 20 2a 2f 0a 64 65 66 69 6e 65 28 27 44 42 5f 41 y.autoPrepare()..*/.define('DB_A
48a0 55 54 4f 51 55 45 52 59 5f 49 4e 53 45 52 54 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 UTOQUERY_INSERT',.1);.define('DB
48c0 5f 41 55 54 4f 51 55 45 52 59 5f 55 50 44 41 54 45 27 2c 20 32 29 3b 0a 0a 0a 2f 2a 2a 0a 20 2a _AUTOQUERY_UPDATE',.2);.../**..*
48e0 20 54 68 65 20 6d 61 69 6e 20 22 44 42 22 20 63 6c 61 73 73 20 69 73 20 73 69 6d 70 6c 79 20 61 .The.main."DB".class.is.simply.a
4900 20 63 6f 6e 74 61 69 6e 65 72 20 63 6c 61 73 73 20 77 69 74 68 20 73 6f 6d 65 20 73 74 61 74 69 .container.class.with.some.stati
4920 63 0a 20 2a 20 6d 65 74 68 6f 64 73 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 44 42 20 6f 62 6a c..*.methods.for.creating.DB.obj
4940 65 63 74 73 20 61 73 20 77 65 6c 6c 20 61 73 20 73 6f 6d 65 20 75 74 69 6c 69 74 79 20 66 75 6e ects.as.well.as.some.utility.fun
4960 63 74 69 6f 6e 73 0a 20 2a 20 63 6f 6d 6d 6f 6e 20 74 6f 20 61 6c 6c 20 70 61 72 74 73 20 6f 66 ctions..*.common.to.all.parts.of
4980 20 44 42 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 6f 62 6a 65 63 74 20 6d 6f 64 65 6c 20 6f 66 20 44 .DB...*..*.The.object.model.of.D
49a0 42 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 20 28 69 6e 64 65 6e 74 61 74 69 6f 6e 20 6d 65 61 B.is.as.follows.(indentation.mea
49c0 6e 73 20 69 6e 68 65 72 69 74 61 6e 63 65 29 3a 0a 20 2a 0a 20 2a 20 44 42 20 20 20 20 20 20 20 ns.inheritance):..*..*.DB.......
49e0 20 20 20 20 54 68 65 20 6d 61 69 6e 20 44 42 20 63 6c 61 73 73 2e 20 20 54 68 69 73 20 69 73 20 ....The.main.DB.class...This.is.
4a00 73 69 6d 70 6c 79 20 61 20 75 74 69 6c 69 74 79 20 63 6c 61 73 73 0a 20 2a 20 20 20 20 20 20 20 simply.a.utility.class..*.......
4a20 20 20 20 20 20 20 20 77 69 74 68 20 73 6f 6d 65 20 22 73 74 61 74 69 63 22 20 6d 65 74 68 6f 64 .......with.some."static".method
4a40 73 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 44 42 20 6f 62 6a 65 63 74 73 20 61 73 0a 20 2a 20 s.for.creating.DB.objects.as..*.
4a60 20 20 20 20 20 20 20 20 20 20 20 20 20 77 65 6c 6c 20 61 73 20 63 6f 6d 6d 6f 6e 20 75 74 69 6c .............well.as.common.util
4a80 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 44 42 20 63 6c 61 73 73 ity.functions.for.other.DB.class
4aa0 65 73 2e 0a 20 2a 0a 20 2a 20 44 42 5f 63 6f 6d 6d 6f 6e 20 20 20 20 54 68 65 20 62 61 73 65 20 es...*..*.DB_common....The.base.
4ac0 66 6f 72 20 65 61 63 68 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 20 50 72 6f for.each.DB.implementation...Pro
4ae0 76 69 64 65 73 20 64 65 66 61 75 6c 74 0a 20 2a 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 69 6d vides.default..*.|............im
4b00 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 28 69 6e 20 4f 4f 20 6c 69 6e 67 6f 20 76 69 72 74 75 plementations.(in.OO.lingo.virtu
4b20 61 6c 20 6d 65 74 68 6f 64 73 29 20 66 6f 72 0a 20 2a 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 al.methods).for..*.|............
4b40 74 68 65 20 61 63 74 75 61 6c 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 61 73 the.actual.DB.implementations.as
4b60 20 77 65 6c 6c 20 61 73 20 61 20 62 75 6e 63 68 20 6f 66 0a 20 2a 20 7c 20 20 20 20 20 20 20 20 .well.as.a.bunch.of..*.|........
4b80 20 20 20 20 71 75 65 72 79 20 75 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 2a 20 ....query.utility.functions...*.
4ba0 7c 0a 20 2a 20 2b 2d 44 42 5f 6d 79 73 71 6c 20 20 20 54 68 65 20 44 42 20 69 6d 70 6c 65 6d 65 |..*.+-DB_mysql...The.DB.impleme
4bc0 6e 74 61 74 69 6f 6e 20 66 6f 72 20 4d 79 53 51 4c 2e 20 20 49 6e 68 65 72 69 74 73 20 44 42 5f ntation.for.MySQL...Inherits.DB_
4be0 63 6f 6d 6d 6f 6e 2e 0a 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 63 61 6c common...*..............When.cal
4c00 6c 69 6e 67 20 44 42 3a 3a 66 61 63 74 6f 72 79 20 6f 72 20 44 42 3a 3a 63 6f 6e 6e 65 63 74 20 ling.DB::factory.or.DB::connect.
4c20 66 6f 72 20 4d 79 53 51 4c 0a 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 65 63 for.MySQL..*..............connec
4c40 74 69 6f 6e 73 2c 20 74 68 65 20 6f 62 6a 65 63 74 20 72 65 74 75 72 6e 65 64 20 69 73 20 61 6e tions,.the.object.returned.is.an
4c60 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 69 73 0a 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 .instance.of.this..*............
4c80 20 20 63 6c 61 73 73 2e 0a 20 2a 0a 20 2a 20 40 70 61 63 6b 61 67 65 20 20 44 42 0a 20 2a 20 40 ..class...*..*.@package..DB..*.@
4ca0 61 75 74 68 6f 72 20 20 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 73 62 40 66 61 73 74 2e 6e author...Stig.Bakken.<ssb@fast.n
4cc0 6f 3e 0a 20 2a 20 40 73 69 6e 63 65 20 20 20 20 50 48 50 20 34 2e 30 0a 20 2a 2f 0a 0a 63 6c 61 o>..*.@since....PHP.4.0..*/..cla
4ce0 73 73 20 44 42 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 72 65 61 74 65 20 61 20 ss.DB.{...../**......*.Create.a.
4d00 6e 65 77 20 44 42 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 20 66 6f 72 20 74 68 65 new.DB.connection.object.for.the
4d20 20 73 70 65 63 69 66 69 65 64 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 2a 20 74 79 70 65 0a .specified.database......*.type.
4d40 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 70 .....*......*.@param.string.$typ
4d60 65 20 64 61 74 61 62 61 73 65 20 74 79 70 65 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 22 6d 79 e.database.type,.for.example."my
4d80 73 71 6c 22 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 sql"......*......*.@return.mixed
4da0 20 61 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 44 42 20 6f 62 6a 65 63 74 2c 20 6f 72 20 61 .a.newly.created.DB.object,.or.a
4dc0 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 0a 20 20 20 20 20 2a 20 65 72 72 6f 72 0a 20 .DB.error.code.on......*.error..
4de0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 ....*......*.access.public......
4e00 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 66 61 63 74 6f 72 79 28 24 74 79 70 65 29 */......function.&factory($type)
4e20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 40 69 6e 63 6c 75 64 65 5f 6f 6e 63 65 28 22 44 42 .....{.........@include_once("DB
4e40 2f 24 7b 74 79 70 65 7d 2e 70 68 70 22 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 6e /${type}.php");..........$classn
4e60 61 6d 65 20 3d 20 22 44 42 5f 24 7b 74 79 70 65 7d 22 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 ame.=."DB_${type}";..........if.
4e80 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 6e 61 6d 65 29 29 20 7b 0a 20 20 (!class_exists($classname)).{...
4ea0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 45 41 52 3a 3a 72 61 69 73 65 45 72 72 6f ..........return.PEAR::raiseErro
4ec0 72 28 6e 75 6c 6c 2c 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 2c 0a 20 20 20 20 r(null,.DB_ERROR_NOT_FOUND,.....
4ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4f00 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 27 44 42 5f 45 72 72 6f 72 27 2c 20 74 72 null,.null,.null,.'DB_Error',.tr
4f20 75 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 40 24 6f 62 6a 20 3d 26 ue);.........}..........@$obj.=&
4f40 20 6e 65 77 20 24 63 6c 61 73 73 6e 61 6d 65 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .new.$classname;..........return
4f60 20 24 6f 62 6a 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 72 65 .$obj;.....}....../**......*.Cre
4f80 61 74 65 20 61 20 6e 65 77 20 44 42 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 20 61 ate.a.new.DB.connection.object.a
4fa0 6e 64 20 63 6f 6e 6e 65 63 74 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 0a 20 20 20 20 nd.connect.to.the.specified.....
4fc0 20 2a 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .*.database......*......*.@param
4fe0 20 6d 69 78 65 64 20 24 64 73 6e 20 22 64 61 74 61 20 73 6f 75 72 63 65 20 6e 61 6d 65 22 2c 20 .mixed.$dsn."data.source.name",.
5000 73 65 65 20 74 68 65 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 0a 20 20 20 20 20 2a 20 6d 65 74 68 see.the.DB::parseDSN......*.meth
5020 6f 64 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 73 6e 20 od.for.a.description.of.the.dsn.
5040 66 6f 72 6d 61 74 2e 20 20 43 61 6e 20 61 6c 73 6f 20 62 65 0a 20 20 20 20 20 2a 20 73 70 65 63 format...Can.also.be......*.spec
5060 69 66 69 65 64 20 61 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 20 ified.as.an.array.of.the.format.
5080 72 65 74 75 72 6e 65 64 20 62 79 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 2e 0a 20 20 20 20 20 2a returned.by.DB::parseDSN.......*
50a0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 24 6f 70 74 69 6f 6e 73 20 41 6e ......*.@param.mixed.$options.An
50c0 20 61 73 73 6f 63 69 61 74 69 76 65 20 61 72 72 61 79 20 6f 66 20 6f 70 74 69 6f 6e 20 6e 61 6d .associative.array.of.option.nam
50e0 65 73 20 61 6e 64 0a 20 20 20 20 20 2a 20 74 68 65 69 72 20 76 61 6c 75 65 73 2e 20 20 46 6f 72 es.and......*.their.values...For
5100 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 74 68 69 73 20 70 .backwards.compatibility,.this.p
5120 61 72 61 6d 65 74 65 72 20 6d 61 79 0a 20 20 20 20 20 2a 20 61 6c 73 6f 20 62 65 20 61 20 62 6f arameter.may......*.also.be.a.bo
5140 6f 6c 65 61 6e 20 74 68 61 74 20 74 65 6c 6c 73 20 77 68 65 74 68 65 72 20 74 68 65 20 63 6f 6e olean.that.tells.whether.the.con
5160 6e 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 2a 20 70 65 72 73 69 73 74 nection.should.be......*.persist
5180 65 6e 74 2e 20 20 53 65 65 20 44 42 5f 63 6f 6d 6d 6f 6e 3a 3a 73 65 74 4f 70 74 69 6f 6e 20 66 ent...See.DB_common::setOption.f
51a0 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 0a 20 20 20 20 20 2a 20 63 6f or.more.information.on......*.co
51c0 6e 6e 65 63 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 nnection.options.......*......*.
51e0 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 61 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 44 42 @return.mixed.a.newly.created.DB
5200 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 2c 20 6f 72 20 61 20 44 42 0a 20 20 20 20 .connection.object,.or.a.DB.....
5220 20 2a 20 65 72 72 6f 72 20 6f 62 6a 65 63 74 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 0a .*.error.object.on.error......*.
5240 20 20 20 20 20 2a 20 40 73 65 65 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 0a 20 20 20 20 20 2a 20 .....*.@see.DB::parseDSN......*.
5260 40 73 65 65 20 44 42 3a 3a 69 73 45 72 72 6f 72 0a 20 20 20 20 20 2a 20 40 73 65 65 20 44 42 5f @see.DB::isError......*.@see.DB_
5280 63 6f 6d 6d 6f 6e 3a 3a 73 65 74 4f 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 common::setOption......*/.....fu
52a0 6e 63 74 69 6f 6e 20 26 63 6f 6e 6e 65 63 74 28 24 64 73 6e 2c 20 24 6f 70 74 69 6f 6e 73 20 3d nction.&connect($dsn,.$options.=
52c0 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 .false).....{.........if.(is_arr
52e0 61 79 28 24 64 73 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 69 6e 66 6f ay($dsn)).{.............$dsninfo
5300 20 3d 20 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 .=.$dsn;.........}.else.{.......
5320 20 20 20 20 20 20 24 64 73 6e 69 6e 66 6f 20 3d 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 28 24 64 ......$dsninfo.=.DB::parseDSN($d
5340 73 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 20 3d 20 24 sn);.........}.........$type.=.$
5360 64 73 6e 69 6e 66 6f 5b 22 70 68 70 74 79 70 65 22 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 dsninfo["phptype"];..........if.
5380 28 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 73 29 20 26 26 20 69 73 73 65 74 28 24 6f 70 (is_array($options).&&.isset($op
53a0 74 69 6f 6e 73 5b 22 64 65 62 75 67 22 5d 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 tions["debug"]).&&.............$
53c0 6f 70 74 69 6f 6e 73 5b 22 64 65 62 75 67 22 5d 20 3e 3d 20 32 29 20 7b 0a 20 20 20 20 20 20 20 options["debug"].>=.2).{........
53e0 20 20 20 20 20 2f 2f 20 65 78 70 6f 73 65 20 70 68 70 20 65 72 72 6f 72 73 20 77 69 74 68 20 73 .....//.expose.php.errors.with.s
5400 75 66 66 69 63 69 65 6e 74 20 64 65 62 75 67 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 20 ufficient.debug.level...........
5420 20 20 69 6e 63 6c 75 64 65 5f 6f 6e 63 65 20 22 44 42 2f 24 7b 74 79 70 65 7d 2e 70 68 70 22 3b ..include_once."DB/${type}.php";
5440 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 40 69 .........}.else.{.............@i
5460 6e 63 6c 75 64 65 5f 6f 6e 63 65 20 22 44 42 2f 24 7b 74 79 70 65 7d 2e 70 68 70 22 3b 0a 20 20 nclude_once."DB/${type}.php";...
5480 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 6e 61 6d 65 20 3d 20 22 44 ......}..........$classname.=."D
54a0 42 5f 24 7b 74 79 70 65 7d 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 63 6c 61 73 73 5f 65 B_${type}";.........if.(!class_e
54c0 78 69 73 74 73 28 24 63 6c 61 73 73 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 xists($classname)).{............
54e0 20 72 65 74 75 72 6e 20 50 45 41 52 3a 3a 72 61 69 73 65 45 72 72 6f 72 28 6e 75 6c 6c 2c 20 44 .return.PEAR::raiseError(null,.D
5500 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 B_ERROR_NOT_FOUND,.null,.null,..
5520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5540 20 20 20 22 55 6e 61 62 6c 65 20 74 6f 20 69 6e 63 6c 75 64 65 20 74 68 65 20 44 42 2f 7b 24 74 ..."Unable.to.include.the.DB/{$t
5560 79 70 65 7d 2e 70 68 70 20 66 69 6c 65 20 66 6f 72 20 60 24 64 73 6e 27 22 2c 0a 20 20 20 20 20 ype}.php.file.for.`$dsn'",......
5580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ...............................'
55a0 44 42 5f 45 72 72 6f 72 27 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 DB_Error',.true);.........}.....
55c0 20 20 20 20 20 40 24 6f 62 6a 20 3d 26 20 6e 65 77 20 24 63 6c 61 73 73 6e 61 6d 65 3b 0a 0a 20 .....@$obj.=&.new.$classname;...
55e0 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 73 29 29 20 7b .......if.(is_array($options)).{
5600 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 6f 6e 73 20 61 .............foreach.($options.a
5620 73 20 24 6f 70 74 69 6f 6e 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 s.$option.=>.$value).{..........
5640 20 20 20 20 20 20 20 24 74 65 73 74 20 3d 20 24 6f 62 6a 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 24 .......$test.=.$obj->setOption($
5660 6f 70 74 69 6f 6e 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 option,.$value);................
5680 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 74 65 73 74 29 29 20 7b 0a 20 20 20 20 20 .if.(DB::isError($test)).{......
56a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 65 73 74 3b 0a 20 20 20 ...............return.$test;....
56c0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .............}.............}....
56e0 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 2d 3e .....}.else.{.............$obj->
5700 73 65 74 4f 70 74 69 6f 6e 28 27 70 65 72 73 69 73 74 65 6e 74 27 2c 20 24 6f 70 74 69 6f 6e 73 setOption('persistent',.$options
5720 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 65 72 72 20 3d 20 24 6f 62 6a );.........}.........$err.=.$obj
5740 2d 3e 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f 2c 20 24 6f 62 6a 2d 3e 67 65 74 4f 70 74 ->connect($dsninfo,.$obj->getOpt
5760 69 6f 6e 28 27 70 65 72 73 69 73 74 65 6e 74 27 29 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 ion('persistent'));.........if.(
5780 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 65 72 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 DB::isError($err)).{............
57a0 20 24 65 72 72 2d 3e 61 64 64 55 73 65 72 49 6e 66 6f 28 24 64 73 6e 29 3b 0a 20 20 20 20 20 20 .$err->addUserInfo($dsn);.......
57c0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 72 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ......return.$err;.........}....
57e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6f 62 6a 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a ......return.$obj;.....}....../*
5800 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 20 74 68 65 20 44 42 20 41 50 49 20 76 65 72 73 69 *......*.Return.the.DB.API.versi
5820 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 74 68 65 on......*......*.@return.int.the
5840 20 44 42 20 41 50 49 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 2a 0a 20 20 .DB.API.version.number......*...
5860 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ...*.@access.public......*/.....
5880 66 75 6e 63 74 69 6f 6e 20 61 70 69 56 65 72 73 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 function.apiVersion().....{.....
58a0 20 20 20 20 72 65 74 75 72 6e 20 32 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 ....return.2;.....}....../**....
58c0 20 20 2a 20 54 65 6c 6c 20 77 68 65 74 68 65 72 20 61 20 72 65 73 75 6c 74 20 63 6f 64 65 20 66 ..*.Tell.whether.a.result.code.f
58e0 72 6f 6d 20 61 20 44 42 20 6d 65 74 68 6f 64 20 69 73 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 rom.a.DB.method.is.an.error.....
5900 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 76 61 6c 75 65 20 72 65 73 75 .*......*.@param.int.$value.resu
5920 6c 74 20 63 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f lt.code......*......*.@return.bo
5940 6f 6c 20 77 68 65 74 68 65 72 20 24 76 61 6c 75 65 20 69 73 20 61 6e 20 65 72 72 6f 72 0a 20 20 ol.whether.$value.is.an.error...
5960 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 ...*......*.@access.public......
5980 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 72 72 6f 72 28 24 76 61 6c 75 65 29 0a */.....function.isError($value).
59a0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 73 5f 6f 62 6a 65 63 74 28 ....{.........return.(is_object(
59c0 24 76 61 6c 75 65 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 5f $value).&&.................(get_
59e0 63 6c 61 73 73 28 24 76 61 6c 75 65 29 20 3d 3d 20 27 64 62 5f 65 72 72 6f 72 27 20 7c 7c 0a 20 class($value).==.'db_error'.||..
5a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 5f 73 75 62 63 6c 61 73 73 5f 6f 66 28 24 ................is_subclass_of($
5a20 76 61 6c 75 65 2c 20 27 64 62 5f 65 72 72 6f 72 27 29 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 value,.'db_error')));.....}.....
5a40 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 65 6c 6c 20 77 68 65 74 68 65 72 20 61 20 76 61 6c 75 65 ./**......*.Tell.whether.a.value
5a60 20 69 73 20 61 20 44 42 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 .is.a.DB.connection......*......
5a80 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 24 76 61 6c 75 65 20 76 61 6c 75 65 20 74 6f 20 74 *.@param.mixed.$value.value.to.t
5aa0 65 73 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 est......*......*.@return.bool.w
5ac0 68 65 74 68 65 72 20 24 76 61 6c 75 65 20 69 73 20 61 20 44 42 20 63 6f 6e 6e 65 63 74 69 6f 6e hether.$value.is.a.DB.connection
5ae0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 ......*......*.@access.public...
5b00 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6f 6e 6e 65 63 74 69 6f 6e 28 ...*/.....function.isConnection(
5b20 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 73 $value).....{.........return.(is
5b40 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 _object($value).&&..............
5b60 20 20 20 69 73 5f 73 75 62 63 6c 61 73 73 5f 6f 66 28 24 76 61 6c 75 65 2c 20 27 64 62 5f 63 6f ...is_subclass_of($value,.'db_co
5b80 6d 6d 6f 6e 27 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 mmon').&&.................method
5ba0 5f 65 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 27 73 69 6d 70 6c 65 51 75 65 72 79 27 29 29 3b _exists($value,.'simpleQuery'));
5bc0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 65 6c 6c 20 77 68 65 74 .....}....../**......*.Tell.whet
5be0 68 65 72 20 61 20 71 75 65 72 79 20 69 73 20 61 20 64 61 74 61 20 6d 61 6e 69 70 75 6c 61 74 69 her.a.query.is.a.data.manipulati
5c00 6f 6e 20 71 75 65 72 79 20 28 69 6e 73 65 72 74 2c 0a 20 20 20 20 20 2a 20 75 70 64 61 74 65 20 on.query.(insert,......*.update.
5c20 6f 72 20 64 65 6c 65 74 65 29 20 6f 72 20 61 20 64 61 74 61 20 64 65 66 69 6e 69 74 69 6f 6e 20 or.delete).or.a.data.definition.
5c40 71 75 65 72 79 20 28 63 72 65 61 74 65 2c 20 64 72 6f 70 2c 0a 20 20 20 20 20 2a 20 61 6c 74 65 query.(create,.drop,......*.alte
5c60 72 2c 20 67 72 61 6e 74 2c 20 72 65 76 6f 6b 65 29 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a r,.grant,.revoke).......*......*
5c80 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 .@access.public......*......*.@p
5ca0 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 aram.string.$query.the.query....
5cc0 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 65 61 6e 20 77 68 65 74 68 ..*......*.@return.boolean.wheth
5ce0 65 72 20 24 71 75 65 72 79 20 69 73 20 61 20 64 61 74 61 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e er.$query.is.a.data.manipulation
5d00 20 71 75 65 72 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 4d 61 .query......*/.....function.isMa
5d20 6e 69 70 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6d 61 6e 69 70 nip($query).....{.........$manip
5d40 73 20 3d 20 27 49 4e 53 45 52 54 7c 55 50 44 41 54 45 7c 44 45 4c 45 54 45 7c 27 2e 27 52 45 50 s.=.'INSERT|UPDATE|DELETE|'.'REP
5d60 4c 41 43 45 7c 43 52 45 41 54 45 7c 44 52 4f 50 7c 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 LACE|CREATE|DROP|'..............
5d80 20 20 20 20 20 20 27 41 4c 54 45 52 7c 47 52 41 4e 54 7c 52 45 56 4f 4b 45 7c 27 2e 27 4c 4f 43 ......'ALTER|GRANT|REVOKE|'.'LOC
5da0 4b 7c 55 4e 4c 4f 43 4b 27 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 K|UNLOCK';.........if.(preg_matc
5dc0 68 28 27 2f 5e 5c 73 2a 22 3f 28 27 2e 24 6d 61 6e 69 70 73 2e 27 29 5c 73 2b 2f 69 27 2c 20 24 h('/^\s*"?('.$manips.')\s+/i',.$
5de0 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 query)).{.............return.tru
5e00 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 e;.........}.........return.fals
5e20 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 20 e;.....}....../**......*.Return.
5e40 61 20 74 65 78 74 75 61 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 6f 72 20 61 20 44 42 a.textual.error.message.for.a.DB
5e60 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .error.code......*......*.@param
5e80 20 69 6e 74 65 67 65 72 20 24 76 61 6c 75 65 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 .integer.$value.error.code......
5ea0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 65 72 72 6f 72 20 6d 65 *......*.@return.string.error.me
5ec0 73 73 61 67 65 2c 20 6f 72 20 66 61 6c 73 65 20 69 66 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 ssage,.or.false.if.the.error.cod
5ee0 65 20 77 61 73 0a 20 20 20 20 20 2a 20 6e 6f 74 20 72 65 63 6f 67 6e 69 7a 65 64 0a 20 20 20 20 e.was......*.not.recognized.....
5f00 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 4d 65 73 73 61 67 65 28 24 76 .*/.....function.errorMessage($v
5f20 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 24 65 72 72 6f alue).....{.........static.$erro
5f40 72 4d 65 73 73 61 67 65 73 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 65 rMessages;.........if.(!isset($e
5f60 72 72 6f 72 4d 65 73 73 61 67 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 rrorMessages)).{.............$er
5f80 72 6f 72 4d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 rorMessages.=.array(............
5fa0 20 20 20 20 20 44 42 5f 45 52 52 4f 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....DB_ERROR...................
5fc0 20 3d 3e 20 27 75 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 .=>.'unknown.error',............
5fe0 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 20 20 20 20 .....DB_ERROR_ALREADY_EXISTS....
6000 20 3d 3e 20 27 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 .=>.'already.exists',...........
6020 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 43 52 45 41 54 45 20 20 20 20 ......DB_ERROR_CANNOT_CREATE....
6040 20 20 3d 3e 20 27 63 61 6e 20 6e 6f 74 20 63 72 65 61 74 65 27 2c 0a 20 20 20 20 20 20 20 20 20 ..=>.'can.not.create',..........
6060 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 44 45 4c 45 54 45 20 20 20 .......DB_ERROR_CANNOT_DELETE...
6080 20 20 20 3d 3e 20 27 63 61 6e 20 6e 6f 74 20 64 65 6c 65 74 65 27 2c 0a 20 20 20 20 20 20 20 20 ...=>.'can.not.delete',.........
60a0 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 44 52 4f 50 20 20 20 20 ........DB_ERROR_CANNOT_DROP....
60c0 20 20 20 20 3d 3e 20 27 63 61 6e 20 6e 6f 74 20 64 72 6f 70 27 2c 0a 20 20 20 20 20 20 20 20 20 ....=>.'can.not.drop',..........
60e0 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 20 20 20 20 20 20 .......DB_ERROR_CONSTRAINT......
6100 20 20 20 3d 3e 20 27 63 6f 6e 73 74 72 61 69 6e 74 20 76 69 6f 6c 61 74 69 6f 6e 27 2c 0a 20 20 ...=>.'constraint.violation',...
6120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 20 20 ..............DB_ERROR_DIVZERO..
6140 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 27 2c ..........=>.'division.by.zero',
6160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 .................DB_ERROR_INVALI
6180 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 69 6e 76 61 6c 69 64 27 2c 0a 20 20 20 20 20 D............=>.'invalid',......
61a0 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 ...........DB_ERROR_INVALID_DATE
61c0 20 20 20 20 20 20 20 3d 3e 20 27 69 6e 76 61 6c 69 64 20 64 61 74 65 20 6f 72 20 74 69 6d 65 27 .......=>.'invalid.date.or.time'
61e0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c ,.................DB_ERROR_INVAL
6200 49 44 5f 4e 55 4d 42 45 52 20 20 20 20 20 3d 3e 20 27 69 6e 76 61 6c 69 64 20 6e 75 6d 62 65 72 ID_NUMBER.....=>.'invalid.number
6220 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4d 49 53 4d ',.................DB_ERROR_MISM
6240 41 54 43 48 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 6d 69 73 6d 61 74 63 68 27 2c 0a 20 20 ATCH...........=>.'mismatch',...
6260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 ..............DB_ERROR_NODBSELEC
6280 54 45 44 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 20 64 61 74 61 62 61 73 65 20 73 65 6c 65 63 74 TED.......=>.'no.database.select
62a0 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f ed',.................DB_ERROR_NO
62c0 53 55 43 48 46 49 45 4c 44 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 20 73 75 63 68 20 66 69 65 SUCHFIELD........=>.'no.such.fie
62e0 6c 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f ld',.................DB_ERROR_NO
6300 53 55 43 48 54 41 42 4c 45 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 20 73 75 63 68 20 74 61 62 SUCHTABLE........=>.'no.such.tab
6320 6c 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f le',.................DB_ERROR_NO
6340 54 5f 43 41 50 41 42 4c 45 20 20 20 20 20 20 20 20 3d 3e 20 27 44 42 20 62 61 63 6b 65 6e 64 20 T_CAPABLE........=>.'DB.backend.
6360 6e 6f 74 20 63 61 70 61 62 6c 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 not.capable',.................DB
6380 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f _ERROR_NOT_FOUND..........=>.'no
63a0 74 20 66 6f 75 6e 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 t.found',.................DB_ERR
63c0 4f 52 5f 4e 4f 54 5f 4c 4f 43 4b 45 44 20 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 74 20 6c 6f OR_NOT_LOCKED.........=>.'not.lo
63e0 63 6b 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f cked',.................DB_ERROR_
6400 53 59 4e 54 41 58 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 73 79 6e 74 61 78 20 65 72 SYNTAX.............=>.'syntax.er
6420 72 6f 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 55 ror',.................DB_ERROR_U
6440 4e 53 55 50 50 4f 52 54 45 44 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 74 20 73 75 70 70 6f 72 NSUPPORTED........=>.'not.suppor
6460 74 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 56 ted',.................DB_ERROR_V
6480 41 4c 55 45 5f 43 4f 55 4e 54 5f 4f 4e 5f 52 4f 57 20 3d 3e 20 27 76 61 6c 75 65 20 63 6f 75 6e ALUE_COUNT_ON_ROW.=>.'value.coun
64a0 74 20 6f 6e 20 72 6f 77 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 t.on.row',.................DB_ER
64c0 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 53 4e 20 20 20 20 20 20 20 20 3d 3e 20 27 69 6e 76 61 6c ROR_INVALID_DSN........=>.'inval
64e0 69 64 20 44 53 4e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f id.DSN',.................DB_ERRO
6500 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 20 20 20 20 20 3d 3e 20 27 63 6f 6e 6e 65 63 74 R_CONNECT_FAILED.....=>.'connect
6520 20 66 61 69 6c 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 4f 4b 20 .failed',.................DB_OK.
6540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 20 65 72 72 ......................=>.'no.err
6560 6f 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 57 41 52 4e 49 4e 47 20 or',.................DB_WARNING.
6580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 75 6e 6b 6e 6f 77 6e 20 77 61 72 .................=>.'unknown.war
65a0 6e 69 6e 67 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 57 41 52 4e 49 4e ning',.................DB_WARNIN
65c0 47 5f 52 45 41 44 5f 4f 4e 4c 59 20 20 20 20 20 20 20 20 3d 3e 20 27 72 65 61 64 20 6f 6e 6c 79 G_READ_ONLY........=>.'read.only
65e0 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 45 45 44 ',.................DB_ERROR_NEED
6600 5f 4d 4f 52 45 5f 44 41 54 41 20 20 20 20 20 3d 3e 20 27 69 6e 73 75 66 66 69 63 69 65 6e 74 20 _MORE_DATA.....=>.'insufficient.
6620 64 61 74 61 20 73 75 70 70 6c 69 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 data.supplied',.................
6640 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 3d 3e 20 27 DB_ERROR_EXTENSION_NOT_FOUND=>.'
6660 65 78 74 65 6e 73 69 6f 6e 20 6e 6f 74 20 66 6f 75 6e 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 extension.not.found',...........
6680 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 44 42 20 20 20 20 20 20 20 20 20 ......DB_ERROR_NOSUCHDB.........
66a0 20 20 3d 3e 20 27 6e 6f 20 73 75 63 68 20 64 61 74 61 62 61 73 65 27 2c 0a 20 20 20 20 20 20 20 ..=>.'no.such.database',........
66c0 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 41 43 43 45 53 53 5f 56 49 4f 4c 41 54 49 .........DB_ERROR_ACCESS_VIOLATI
66e0 4f 4e 20 20 20 3d 3e 20 27 69 6e 73 75 66 66 69 63 69 65 6e 74 20 70 65 72 6d 69 73 73 69 6f 6e ON...=>.'insufficient.permission
6700 73 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 s'.............);.........}.....
6720 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 76 61 6c 75 65 29 29 20 7b 0a .....if.(DB::isError($value)).{.
6740 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 24 76 61 6c 75 65 2d 3e 67 65 74 ............$value.=.$value->get
6760 43 6f 64 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 Code();.........}..........retur
6780 6e 20 69 73 73 65 74 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 73 5b 24 76 61 6c 75 65 5d 29 20 n.isset($errorMessages[$value]).
67a0 3f 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 73 5b 24 76 61 6c 75 65 5d 20 3a 20 24 65 72 72 6f ?.$errorMessages[$value].:.$erro
67c0 72 4d 65 73 73 61 67 65 73 5b 44 42 5f 45 52 52 4f 52 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 rMessages[DB_ERROR];.....}......
67e0 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 61 72 73 65 20 61 20 64 61 74 61 20 73 6f 75 72 63 65 20 6e /**......*.Parse.a.data.source.n
6800 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 41 20 61 72 72 61 79 20 77 69 74 68 20 74 ame......*......*.A.array.with.t
6820 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6b 65 79 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e he.following.keys.will.be.return
6840 65 64 3a 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 3a 20 44 61 74 61 62 61 73 65 20 62 61 ed:......*..phptype:.Database.ba
6860 63 6b 65 6e 64 20 75 73 65 64 20 69 6e 20 50 48 50 20 28 6d 79 73 71 6c 2c 20 6f 64 62 63 20 65 ckend.used.in.PHP.(mysql,.odbc.e
6880 74 63 2e 29 0a 20 20 20 20 20 2a 20 20 64 62 73 79 6e 74 61 78 3a 20 44 61 74 61 62 61 73 65 20 tc.)......*..dbsyntax:.Database.
68a0 75 73 65 64 20 77 69 74 68 20 72 65 67 61 72 64 73 20 74 6f 20 53 51 4c 20 73 79 6e 74 61 78 20 used.with.regards.to.SQL.syntax.
68c0 65 74 63 2e 0a 20 20 20 20 20 2a 20 20 70 72 6f 74 6f 63 6f 6c 3a 20 43 6f 6d 6d 75 6e 69 63 61 etc.......*..protocol:.Communica
68e0 74 69 6f 6e 20 70 72 6f 74 6f 63 6f 6c 20 74 6f 20 75 73 65 20 28 74 63 70 2c 20 75 6e 69 78 20 tion.protocol.to.use.(tcp,.unix.
6900 65 74 63 2e 29 0a 20 20 20 20 20 2a 20 20 68 6f 73 74 73 70 65 63 3a 20 48 6f 73 74 20 73 70 65 etc.)......*..hostspec:.Host.spe
6920 63 69 66 69 63 61 74 69 6f 6e 20 28 68 6f 73 74 6e 61 6d 65 5b 3a 70 6f 72 74 5d 29 0a 20 20 20 cification.(hostname[:port])....
6940 20 20 2a 20 20 64 61 74 61 62 61 73 65 3a 20 44 61 74 61 62 61 73 65 20 74 6f 20 75 73 65 20 6f ..*..database:.Database.to.use.o
6960 6e 20 74 68 65 20 44 42 4d 53 20 73 65 72 76 65 72 0a 20 20 20 20 20 2a 20 20 75 73 65 72 6e 61 n.the.DBMS.server......*..userna
6980 6d 65 3a 20 55 73 65 72 20 6e 61 6d 65 20 66 6f 72 20 6c 6f 67 69 6e 0a 20 20 20 20 20 2a 20 20 me:.User.name.for.login......*..
69a0 70 61 73 73 77 6f 72 64 3a 20 50 61 73 73 77 6f 72 64 20 66 6f 72 20 6c 6f 67 69 6e 0a 20 20 20 password:.Password.for.login....
69c0 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 73 75 70 ..*......*.The.format.of.the.sup
69e0 70 6c 69 65 64 20 44 53 4e 20 69 73 20 69 6e 20 69 74 73 20 66 75 6c 6c 65 73 74 20 66 6f 72 6d plied.DSN.is.in.its.fullest.form
6a00 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 28 64 62 73 79 6e 74 61 :......*......*..phptype(dbsynta
6a20 78 29 3a 2f 2f 75 73 65 72 6e 61 6d 65 3a 70 61 73 73 77 6f 72 64 40 70 72 6f 74 6f 63 6f 6c 2b x)://username:password@protocol+
6a40 68 6f 73 74 73 70 65 63 2f 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 hostspec/database......*......*.
6a60 4d 6f 73 74 20 76 61 72 69 61 74 69 6f 6e 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 3a 0a 20 20 20 Most.variations.are.allowed:....
6a80 20 20 2a 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 3a 2f 2f 75 73 65 72 6e 61 6d 65 3a 70 ..*......*..phptype://username:p
6aa0 61 73 73 77 6f 72 64 40 70 72 6f 74 6f 63 6f 6c 2b 68 6f 73 74 73 70 65 63 3a 31 31 30 2f 2f 75 assword@protocol+hostspec:110//u
6ac0 73 72 2f 64 62 5f 66 69 6c 65 2e 64 62 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 3a 2f 2f sr/db_file.db......*..phptype://
6ae0 75 73 65 72 6e 61 6d 65 3a 70 61 73 73 77 6f 72 64 40 68 6f 73 74 73 70 65 63 2f 64 61 74 61 62 username:password@hostspec/datab
6b00 61 73 65 5f 6e 61 6d 65 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 3a 2f 2f 75 73 65 72 6e ase_name......*..phptype://usern
6b20 61 6d 65 3a 70 61 73 73 77 6f 72 64 40 68 6f 73 74 73 70 65 63 0a 20 20 20 20 20 2a 20 20 70 68 ame:password@hostspec......*..ph
6b40 70 74 79 70 65 3a 2f 2f 75 73 65 72 6e 61 6d 65 40 68 6f 73 74 73 70 65 63 0a 20 20 20 20 20 2a ptype://username@hostspec......*
6b60 20 20 70 68 70 74 79 70 65 3a 2f 2f 68 6f 73 74 73 70 65 63 2f 64 61 74 61 62 61 73 65 0a 20 20 ..phptype://hostspec/database...
6b80 20 20 20 2a 20 20 70 68 70 74 79 70 65 3a 2f 2f 68 6f 73 74 73 70 65 63 0a 20 20 20 20 20 2a 20 ...*..phptype://hostspec......*.
6ba0 20 70 68 70 74 79 70 65 28 64 62 73 79 6e 74 61 78 29 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 .phptype(dbsyntax)......*..phpty
6bc0 70 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 pe......*......*.@param.string.$
6be0 64 73 6e 20 44 61 74 61 20 53 6f 75 72 63 65 20 4e 61 6d 65 20 74 6f 20 62 65 20 70 61 72 73 65 dsn.Data.Source.Name.to.be.parse
6c00 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 61 6e d......*......*.@return.array.an
6c20 20 61 73 73 6f 63 69 61 74 69 76 65 20 61 72 72 61 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .associative.array......*......*
6c40 20 40 61 75 74 68 6f 72 20 54 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 20 3c 63 6f 78 40 69 64 65 63 .@author.Tomas.V.V.Cox.<cox@idec
6c60 6e 65 74 2e 63 6f 6d 3e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 61 net.com>......*/.....function.pa
6c80 72 73 65 44 53 4e 28 24 64 73 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 rseDSN($dsn).....{.........if.(i
6ca0 73 5f 61 72 72 61 79 28 24 64 73 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 s_array($dsn)).{.............ret
6cc0 75 72 6e 20 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 70 61 urn.$dsn;.........}..........$pa
6ce0 72 73 65 64 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 68 70 74 79 rsed.=.array(.............'phpty
6d00 70 65 27 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 62 73 79 pe'..=>.false,.............'dbsy
6d20 6e 74 61 78 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 75 73 65 ntax'.=>.false,.............'use
6d40 72 6e 61 6d 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 61 rname'.=>.false,.............'pa
6d60 73 73 77 6f 72 64 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 ssword'.=>.false,.............'p
6d80 72 6f 74 6f 63 6f 6c 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 rotocol'.=>.false,.............'
6da0 68 6f 73 74 73 70 65 63 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 hostspec'.=>.false,.............
6dc0 27 70 6f 72 74 27 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 'port'.....=>.false,............
6de0 20 27 73 6f 63 6b 65 74 27 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 .'socket'...=>.false,...........
6e00 20 20 27 64 61 74 61 62 61 73 65 27 20 3d 3e 20 66 61 6c 73 65 0a 20 20 20 20 20 20 20 20 29 3b ..'database'.=>.false.........);
6e20 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 46 69 6e 64 20 70 68 70 74 79 70 65 20 61 6e 64 20 64 62 ..........//.Find.phptype.and.db
6e40 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 24 70 6f 73 20 3d 20 73 74 72 70 6f syntax.........if.(($pos.=.strpo
6e60 73 28 24 64 73 6e 2c 20 27 3a 2f 2f 27 29 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 s($dsn,.'://')).!==.false).{....
6e80 20 20 20 20 20 20 20 20 20 24 73 74 72 20 3d 20 73 75 62 73 74 72 28 24 64 73 6e 2c 20 30 2c 20 .........$str.=.substr($dsn,.0,.
6ea0 24 70 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 20 3d 20 73 75 62 73 74 72 $pos);.............$dsn.=.substr
6ec0 28 24 64 73 6e 2c 20 24 70 6f 73 20 2b 20 33 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 ($dsn,.$pos.+.3);.........}.else
6ee0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 72 20 3d 20 24 64 73 6e 3b 0a 20 20 20 20 .{.............$str.=.$dsn;.....
6f00 20 20 20 20 20 20 20 20 24 64 73 6e 20 3d 20 4e 55 4c 4c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a ........$dsn.=.NULL;.........}..
6f20 20 20 20 20 20 20 20 20 2f 2f 20 47 65 74 20 70 68 70 74 79 70 65 20 61 6e 64 20 64 62 73 79 6e ........//.Get.phptype.and.dbsyn
6f40 74 61 78 0a 20 20 20 20 20 20 20 20 2f 2f 20 24 73 74 72 20 3d 3e 20 70 68 70 74 79 70 65 28 64 tax.........//.$str.=>.phptype(d
6f60 62 73 79 6e 74 61 78 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 bsyntax).........if.(preg_match(
6f80 27 7c 5e 28 2e 2b 3f 29 5c 28 28 2e 2a 3f 29 5c 29 24 7c 27 2c 20 24 73 74 72 2c 20 24 61 72 72 '|^(.+?)\((.*?)\)$|',.$str,.$arr
6fa0 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 70 68 70 74 79 70 )).{.............$parsed['phptyp
6fc0 65 27 5d 20 20 3d 20 24 61 72 72 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 e']..=.$arr[1];.............$par
6fe0 73 65 64 5b 27 64 62 73 79 6e 74 61 78 27 5d 20 3d 20 28 65 6d 70 74 79 28 24 61 72 72 5b 32 5d sed['dbsyntax'].=.(empty($arr[2]
7000 29 29 20 3f 20 24 61 72 72 5b 31 5d 20 3a 20 24 61 72 72 5b 32 5d 3b 0a 20 20 20 20 20 20 20 20 )).?.$arr[1].:.$arr[2];.........
7020 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 70 68 }.else.{.............$parsed['ph
7040 70 74 79 70 65 27 5d 20 20 3d 20 24 73 74 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ptype']..=.$str;.............$pa
7060 72 73 65 64 5b 27 64 62 73 79 6e 74 61 78 27 5d 20 3d 20 24 73 74 72 3b 0a 20 20 20 20 20 20 20 rsed['dbsyntax'].=.$str;........
7080 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 64 73 6e 29 29 20 7b 0a 20 .}..........if.(empty($dsn)).{..
70a0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 73 65 64 3b 0a 20 20 20 20 20 ...........return.$parsed;......
70c0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 47 65 74 20 28 69 66 20 66 6f 75 6e 64 29 3a ...}..........//.Get.(if.found):
70e0 20 75 73 65 72 6e 61 6d 65 20 61 6e 64 20 70 61 73 73 77 6f 72 64 0a 20 20 20 20 20 20 20 20 2f .username.and.password........./
7100 2f 20 24 64 73 6e 20 3d 3e 20 75 73 65 72 6e 61 6d 65 3a 70 61 73 73 77 6f 72 64 40 70 72 6f 74 /.$dsn.=>.username:password@prot
7120 6f 63 6f 6c 2b 68 6f 73 74 73 70 65 63 2f 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 69 ocol+hostspec/database.........i
7140 66 20 28 28 24 61 74 20 3d 20 73 74 72 72 70 6f 73 28 24 64 73 6e 2c 27 40 27 29 29 20 21 3d 3d f.(($at.=.strrpos($dsn,'@')).!==
7160 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 72 20 3d 20 73 75 62 .false).{.............$str.=.sub
7180 73 74 72 28 24 64 73 6e 2c 20 30 2c 20 24 61 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 str($dsn,.0,.$at);.............$
71a0 64 73 6e 20 3d 20 73 75 62 73 74 72 28 24 64 73 6e 2c 20 24 61 74 20 2b 20 31 29 3b 0a 20 20 20 dsn.=.substr($dsn,.$at.+.1);....
71c0 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 73 74 72 .........if.(($pos.=.strpos($str
71e0 2c 20 27 3a 27 29 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ,.':')).!==.false).{............
7200 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 75 72 6c 64 65 .....$parsed['username'].=.urlde
7220 63 6f 64 65 28 73 75 62 73 74 72 28 24 73 74 72 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a 20 20 20 code(substr($str,.0,.$pos));....
7240 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 70 61 73 73 77 6f 72 64 27 5d .............$parsed['password']
7260 20 3d 20 75 72 6c 64 65 63 6f 64 65 28 73 75 62 73 74 72 28 24 73 74 72 2c 20 24 70 6f 73 20 2b .=.urldecode(substr($str,.$pos.+
7280 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 .1));.............}.else.{......
72a0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d ...........$parsed['username'].=
72c0 20 75 72 6c 64 65 63 6f 64 65 28 24 73 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a .urldecode($str);.............}.
72e0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 46 69 6e 64 20 70 72 6f 74 6f ........}..........//.Find.proto
7300 63 6f 6c 20 61 6e 64 20 68 6f 73 74 73 70 65 63 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 24 64 73 col.and.hostspec..........//.$ds
7320 6e 20 3d 3e 20 70 72 6f 74 6f 28 70 72 6f 74 6f 5f 6f 70 74 73 29 2f 64 61 74 61 62 61 73 65 0a n.=>.proto(proto_opts)/database.
7340 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 28 5b 5e 28 5d 2b ........if.(preg_match('|^([^(]+
7360 29 5c 28 28 2e 2a 3f 29 5c 29 2f 3f 28 2e 2a 3f 29 24 7c 27 2c 20 24 64 73 6e 2c 20 24 6d 61 74 )\((.*?)\)/?(.*?)$|',.$dsn,.$mat
7380 63 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 74 6f 20 20 20 20 20 20 20 ch)).{.............$proto.......
73a0 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 74 6f 5f =.$match[1];.............$proto_
73c0 6f 70 74 73 20 20 3d 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 3f 20 24 6d opts..=.(!empty($match[2])).?.$m
73e0 61 74 63 68 5b 32 5d 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 atch[2].:.false;.............$ds
7400 6e 20 20 20 20 20 20 20 20 20 3d 20 24 6d 61 74 63 68 5b 33 5d 3b 0a 0a 20 20 20 20 20 20 20 20 n.........=.$match[3];..........
7420 2f 2f 20 24 64 73 6e 20 3d 3e 20 70 72 6f 74 6f 63 6f 6c 2b 68 6f 73 74 73 70 65 63 2f 64 61 74 //.$dsn.=>.protocol+hostspec/dat
7440 61 62 61 73 65 20 28 6f 6c 64 20 66 6f 72 6d 61 74 29 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 abase.(old.format).........}.els
7460 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 70 6f 73 28 24 64 73 6e 2c e.{.............if.(strpos($dsn,
7480 20 27 2b 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'+').!==.false).{..............
74a0 20 20 20 6c 69 73 74 28 24 70 72 6f 74 6f 2c 20 24 64 73 6e 29 20 3d 20 65 78 70 6c 6f 64 65 28 ...list($proto,.$dsn).=.explode(
74c0 27 2b 27 2c 20 24 64 73 6e 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 '+',.$dsn,.2);.............}....
74e0 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 70 6f 73 28 24 64 73 6e 2c 20 27 2f 27 29 20 21 .........if.(strpos($dsn,.'/').!
7500 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 ==.false).{.................list
7520 28 24 70 72 6f 74 6f 5f 6f 70 74 73 2c 20 24 64 73 6e 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f ($proto_opts,.$dsn).=.explode('/
7540 27 2c 20 24 64 73 6e 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 ',.$dsn,.2);.............}.else.
7560 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 74 6f 5f 6f 70 74 73 20 3d 20 {.................$proto_opts.=.
7580 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 20 3d 20 6e 75 6c $dsn;.................$dsn.=.nul
75a0 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 l;.............}.........}......
75c0 20 20 20 20 2f 2f 20 70 72 6f 63 65 73 73 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 70 72 6f ....//.process.the.different.pro
75e0 74 6f 63 6f 6c 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 70 tocol.options.........$parsed['p
7600 72 6f 74 6f 63 6f 6c 27 5d 20 3d 20 28 21 65 6d 70 74 79 28 24 70 72 6f 74 6f 29 29 20 3f 20 24 rotocol'].=.(!empty($proto)).?.$
7620 70 72 6f 74 6f 20 3a 20 27 74 63 70 27 3b 0a 20 20 20 20 20 20 20 20 24 70 72 6f 74 6f 5f 6f 70 proto.:.'tcp';.........$proto_op
7640 74 73 20 3d 20 75 72 6c 64 65 63 6f 64 65 28 24 70 72 6f 74 6f 5f 6f 70 74 73 29 3b 0a 20 20 20 ts.=.urldecode($proto_opts);....
7660 20 20 20 20 20 69 66 20 28 24 70 61 72 73 65 64 5b 27 70 72 6f 74 6f 63 6f 6c 27 5d 20 3d 3d 20 .....if.($parsed['protocol'].==.
7680 27 74 63 70 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 70 6f 73 28 'tcp').{.............if.(strpos(
76a0 24 70 72 6f 74 6f 5f 6f 70 74 73 2c 20 27 3a 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 $proto_opts,.':').!==.false).{..
76c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 70 61 72 73 65 64 5b 27 68 6f 73 ...............list($parsed['hos
76e0 74 73 70 65 63 27 5d 2c 20 24 70 61 72 73 65 64 5b 27 70 6f 72 74 27 5d 29 20 3d 20 65 78 70 6c tspec'],.$parsed['port']).=.expl
7700 6f 64 65 28 27 3a 27 2c 20 24 70 72 6f 74 6f 5f 6f 70 74 73 29 3b 0a 20 20 20 20 20 20 20 20 20 ode(':',.$proto_opts);..........
7720 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ...}.else.{.................$par
7740 73 65 64 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3d 20 24 70 72 6f 74 6f 5f 6f 70 74 73 3b 0a 20 sed['hostspec'].=.$proto_opts;..
7760 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 ...........}.........}.elseif.($
7780 70 61 72 73 65 64 5b 27 70 72 6f 74 6f 63 6f 6c 27 5d 20 3d 3d 20 27 75 6e 69 78 27 29 20 7b 0a parsed['protocol'].==.'unix').{.
77a0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 73 6f 63 6b 65 74 27 5d 20 3d 20 ............$parsed['socket'].=.
77c0 24 70 72 6f 74 6f 5f 6f 70 74 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 $proto_opts;.........}..........
77e0 2f 2f 20 47 65 74 20 64 61 62 61 73 65 20 69 66 20 61 6e 79 0a 20 20 20 20 20 20 20 20 2f 2f 20 //.Get.dabase.if.any.........//.
7800 24 64 73 6e 20 3d 3e 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d $dsn.=>.database.........if.(!em
7820 70 74 79 28 24 64 73 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 2f 64 61 74 pty($dsn)).{.............//./dat
7840 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 70 6f 73 20 3d 20 73 74 abase.............if.(($pos.=.st
7860 72 70 6f 73 28 24 64 73 6e 2c 20 27 3f 27 29 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 rpos($dsn,.'?')).===.false).{...
7880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 64 61 74 61 62 61 73 65 27 ..............$parsed['database'
78a0 5d 20 3d 20 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 2f 64 61 74 61 62 61 ].=.$dsn;.............//./databa
78c0 73 65 3f 70 61 72 61 6d 31 3d 76 61 6c 75 65 31 26 70 61 72 61 6d 32 3d 76 61 6c 75 65 32 0a 20 se?param1=value1&param2=value2..
78e0 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........}.else.{.............
7900 20 20 20 20 24 70 61 72 73 65 64 5b 27 64 61 74 61 62 61 73 65 27 5d 20 3d 20 73 75 62 73 74 72 ....$parsed['database'].=.substr
7920 28 24 64 73 6e 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ($dsn,.0,.$pos);................
7940 20 24 64 73 6e 20 3d 20 73 75 62 73 74 72 28 24 64 73 6e 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a .$dsn.=.substr($dsn,.$pos.+.1);.
7960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 70 6f 73 28 24 64 73 6e 2c ................if.(strpos($dsn,
7980 20 27 26 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'&').!==.false).{..............
79a0 20 20 20 20 20 20 20 24 6f 70 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 26 27 2c 20 24 64 73 6e .......$opts.=.explode('&',.$dsn
79c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 64 );.................}.else.{.//.d
79e0 61 74 61 62 61 73 65 3f 70 61 72 61 6d 31 3d 76 61 6c 75 65 31 0a 20 20 20 20 20 20 20 20 20 20 atabase?param1=value1...........
7a00 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 73 20 3d 20 61 72 72 61 79 28 24 64 73 6e 29 3b 0a 20 ..........$opts.=.array($dsn);..
7a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
7a40 20 66 6f 72 65 61 63 68 20 28 24 6f 70 74 73 20 61 73 20 24 6f 70 74 29 20 7b 0a 20 20 20 20 20 .foreach.($opts.as.$opt).{......
7a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 6b 65 79 2c 20 24 76 61 6c 75 65 ...............list($key,.$value
7a80 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3d 27 2c 20 24 6f 70 74 29 3b 0a 20 20 20 20 20 20 20 20 ).=.explode('=',.$opt);.........
7aa0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 73 65 64 5b 24 ............if.(!isset($parsed[$
7ac0 6b 65 79 5d 29 29 20 7b 20 2f 2f 20 64 6f 6e 27 74 20 61 6c 6c 6f 77 20 70 61 72 61 6d 73 20 6f key])).{.//.don't.allow.params.o
7ae0 76 65 72 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 verwrite........................
7b00 20 24 70 61 72 73 65 64 5b 24 6b 65 79 5d 20 3d 20 75 72 6c 64 65 63 6f 64 65 28 24 76 61 6c 75 .$parsed[$key].=.urldecode($valu
7b20 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 e);.....................}.......
7b40 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..........}.............}.......
7b60 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 73 65 64 3b 0a 20 20 20 ..}..........return.$parsed;....
7b80 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 61 64 20 61 20 50 48 50 20 64 61 .}....../**......*.Load.a.PHP.da
7ba0 74 61 62 61 73 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 6c 6f tabase.extension.if.it.is.not.lo
7bc0 61 64 65 64 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 aded.already.......*......*.@acc
7be0 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ess.public......*......*.@param.
7c00 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 74 68 65 20 62 61 73 65 20 6e 61 6d 65 20 6f 66 20 74 68 string.$name.the.base.name.of.th
7c20 65 20 65 78 74 65 6e 73 69 6f 6e 20 28 77 69 74 68 6f 75 74 20 74 68 65 20 2e 73 6f 20 6f 72 0a e.extension.(without.the..so.or.
7c40 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 64 6c 6c 20 .....*......................dll.
7c60 73 75 66 66 69 78 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f suffix)......*......*.@return.bo
7c80 6f 6c 65 61 6e 20 74 72 75 65 20 69 66 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 77 61 73 20 olean.true.if.the.extension.was.
7ca0 61 6c 72 65 61 64 79 20 6f 72 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0a 20 20 20 20 20 2a 20 20 already.or.successfully......*..
7cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 61 64 65 64 2c 20 66 61 6c 73 65 20 69 66 20 ...............loaded,.false.if.
7ce0 69 74 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6c 6f 61 64 65 64 0a 20 20 20 20 20 2a 2f 0a 20 it.could.not.be.loaded......*/..
7d00 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 24 6e 61 6d ...function.assertExtension($nam
7d20 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f e).....{.........if.(!extension_
7d40 6c 6f 61 64 65 64 28 24 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 6c loaded($name)).{.............$dl
7d60 65 78 74 20 3d 20 4f 53 5f 57 49 4e 44 4f 57 53 20 3f 20 27 2e 64 6c 6c 27 20 3a 20 27 2e 73 6f ext.=.OS_WINDOWS.?.'.dll'.:.'.so
7d80 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 40 64 6c 28 24 6e 61 6d 65 20 2e 20 24 64 6c 65 78 ';.............@dl($name...$dlex
7da0 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 78 74 65 6e 73 69 6f 6e t);.............return.extension
7dc0 5f 6c 6f 61 64 65 64 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 _loaded($name);.........}.......
7de0 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 44 ..return.true;.....}.}../**..*.D
7e00 42 5f 45 72 72 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 63 6c 61 73 73 20 66 6f 72 20 72 B_Error.implements.a.class.for.r
7e20 65 70 6f 72 74 69 6e 67 20 70 6f 72 74 61 62 6c 65 20 64 61 74 61 62 61 73 65 20 65 72 72 6f 72 eporting.portable.database.error
7e40 0a 20 2a 20 6d 65 73 73 61 67 65 73 2e 0a 20 2a 0a 20 2a 20 40 70 61 63 6b 61 67 65 20 20 44 42 ..*.messages...*..*.@package..DB
7e60 0a 20 2a 20 40 61 75 74 68 6f 72 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 73 62 40 66 61 73 ..*.@author.Stig.Bakken.<ssb@fas
7e80 74 2e 6e 6f 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 44 42 5f 45 72 72 6f 72 20 65 78 74 65 6e 64 73 t.no>..*/.class.DB_Error.extends
7ea0 20 50 45 41 52 5f 45 72 72 6f 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 42 5f .PEAR_Error.{...../**......*.DB_
7ec0 45 72 72 6f 72 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a Error.constructor.......*......*
7ee0 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 20 24 63 6f 64 65 20 20 20 44 42 20 65 72 72 6f 72 .@param.mixed...$code...DB.error
7f00 20 63 6f 64 65 2c 20 6f 72 20 73 74 72 69 6e 67 20 77 69 74 68 20 65 72 72 6f 72 20 6d 65 73 73 .code,.or.string.with.error.mess
7f20 61 67 65 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 6d 6f 64 65 age.......*.@param.integer.$mode
7f40 20 20 20 77 68 61 74 20 22 65 72 72 6f 72 20 6d 6f 64 65 22 20 74 6f 20 6f 70 65 72 61 74 65 20 ...what."error.mode".to.operate.
7f60 69 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 6c 65 76 65 6c 20 in......*.@param.integer.$level.
7f80 20 77 68 61 74 20 65 72 72 6f 72 20 6c 65 76 65 6c 20 74 6f 20 75 73 65 20 66 6f 72 20 24 6d 6f .what.error.level.to.use.for.$mo
7fa0 64 65 20 26 20 50 45 41 52 5f 45 52 52 4f 52 5f 54 52 49 47 47 45 52 0a 20 20 20 20 20 2a 20 40 de.&.PEAR_ERROR_TRIGGER......*.@
7fc0 70 61 72 61 6d 20 6d 69 78 65 64 20 20 20 24 64 65 62 75 67 69 6e 66 6f 20 20 61 64 64 69 74 69 param.mixed...$debuginfo..additi
7fe0 6f 6e 61 6c 20 64 65 62 75 67 20 69 6e 66 6f 2c 20 73 75 63 68 20 61 73 20 74 68 65 20 6c 61 73 onal.debug.info,.such.as.the.las
8000 74 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 t.query......*......*.@access.pu
8020 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 50 45 41 52 5f 45 72 72 blic......*......*.@see.PEAR_Err
8040 6f 72 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 45 72 72 6f or......*/......function.DB_Erro
8060 72 28 24 63 6f 64 65 20 3d 20 44 42 5f 45 52 52 4f 52 2c 20 24 6d 6f 64 65 20 3d 20 50 45 41 52 r($code.=.DB_ERROR,.$mode.=.PEAR
8080 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 _ERROR_RETURN,...............$le
80a0 76 65 6c 20 3d 20 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 2c 20 24 64 65 62 75 67 69 6e 66 6f 20 vel.=.E_USER_NOTICE,.$debuginfo.
80c0 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 69 6e 74 =.null).....{.........if.(is_int
80e0 28 24 63 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 50 45 ($code)).{.............$this->PE
8100 41 52 5f 45 72 72 6f 72 28 27 44 42 20 45 72 72 6f 72 3a 20 27 20 2e 20 44 42 3a 3a 65 72 72 6f AR_Error('DB.Error:.'...DB::erro
8120 72 4d 65 73 73 61 67 65 28 24 63 6f 64 65 29 2c 20 24 63 6f 64 65 2c 20 24 6d 6f 64 65 2c 20 24 rMessage($code),.$code,.$mode,.$
8140 6c 65 76 65 6c 2c 20 24 64 65 62 75 67 69 6e 66 6f 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c level,.$debuginfo);.........}.el
8160 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 50 45 41 52 5f 45 72 72 se.{.............$this->PEAR_Err
8180 6f 72 28 22 44 42 20 45 72 72 6f 72 3a 20 24 63 6f 64 65 22 2c 20 44 42 5f 45 52 52 4f 52 2c 20 or("DB.Error:.$code",.DB_ERROR,.
81a0 24 6d 6f 64 65 2c 20 24 6c 65 76 65 6c 2c 20 24 64 65 62 75 67 69 6e 66 6f 29 3b 0a 20 20 20 20 $mode,.$level,.$debuginfo);.....
81c0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 ....}.....}.}../**..*.This.class
81e0 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 77 72 61 70 70 65 72 20 66 6f 72 20 61 20 44 42 20 72 .implements.a.wrapper.for.a.DB.r
8200 65 73 75 6c 74 20 73 65 74 2e 0a 20 2a 20 41 20 6e 65 77 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 esult.set...*.A.new.instance.of.
8220 74 68 69 73 20 63 6c 61 73 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 this.class.will.be.returned.by.t
8240 68 65 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 20 2a 20 61 66 74 65 72 20 70 72 he.DB.implementation..*.after.pr
8260 6f 63 65 73 73 69 6e 67 20 61 20 71 75 65 72 79 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 64 61 ocessing.a.query.that.returns.da
8280 74 61 2e 0a 20 2a 0a 20 2a 20 40 70 61 63 6b 61 67 65 20 20 44 42 0a 20 2a 20 40 61 75 74 68 6f ta...*..*.@package..DB..*.@autho
82a0 72 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 73 62 40 66 61 73 74 2e 6e 6f 3e 0a 20 2a 2f 0a r.Stig.Bakken.<ssb@fast.no>..*/.
82c0 0a 63 6c 61 73 73 20 44 42 5f 72 65 73 75 6c 74 0a 7b 0a 20 20 20 20 76 61 72 20 24 64 62 68 3b .class.DB_result.{.....var.$dbh;
82e0 0a 20 20 20 20 76 61 72 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 76 61 72 20 24 72 6f 77 5f 63 .....var.$result;.....var.$row_c
8300 6f 75 6e 74 65 72 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 66 6f 72 ounter.=.null;...../**.....*.for
8320 20 6c 69 6d 69 74 20 71 75 65 72 69 65 73 2c 20 74 68 65 20 72 6f 77 20 74 6f 20 73 74 61 72 74 .limit.queries,.the.row.to.start
8340 20 66 65 74 63 68 69 6e 67 0a 20 20 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 .fetching.....*.@var.integer....
8360 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 6c 69 6d 69 74 5f 66 72 6f 6d 20 20 3d 20 6e 75 6c 6c 3b .*/.....var.$limit_from..=.null;
8380 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 66 6f 72 20 6c 69 6d 69 74 20 71 75 65 72 69 65 ....../**.....*.for.limit.querie
83a0 73 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 0a 20 s,.the.number.of.rows.to.fetch..
83c0 20 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 ...*.@var.integer.....*/.....var
83e0 20 24 6c 69 6d 69 74 5f 63 6f 75 6e 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 .$limit_count.=.null;....../**..
8400 20 20 20 20 2a 20 44 42 5f 72 65 73 75 6c 74 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 ....*.DB_result.constructor.....
8420 20 20 2a 20 40 70 61 72 61 6d 20 72 65 73 6f 75 72 63 65 20 26 24 64 62 68 20 20 20 44 42 20 6f ..*.@param.resource.&$dbh...DB.o
8440 62 6a 65 63 74 20 72 65 66 65 72 65 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 bject.reference......*.@param.re
8460 73 6f 75 72 63 65 20 24 72 65 73 75 6c 74 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 20 69 source.$result.result.resource.i
8480 64 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 72 65 73 75 6c d......*/......function.DB_resul
84a0 74 28 26 24 64 62 68 2c 20 24 72 65 73 75 6c 74 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 t(&$dbh,.$result,.$options.=.arr
84c0 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 68 20 3d ay()).....{.........$this->dbh.=
84e0 20 26 24 64 62 68 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 20 3d 20 .&$dbh;.........$this->result.=.
8500 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 66 72 $result;.........$this->limit_fr
8520 6f 6d 20 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6c 69 6d 69 74 5f 66 72 6f 6d om..=.isset($options['limit_from
8540 27 5d 29 20 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6c 69 6d 69 74 5f 66 72 6f 6d 27 5d 20 20 3a '])..?.$options['limit_from']..:
8560 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 63 6f 75 6e .null;.........$this->limit_coun
8580 74 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6c 69 6d 69 74 5f 63 6f 75 6e 74 27 t.=.isset($options['limit_count'
85a0 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6c 69 6d 69 74 5f 63 6f 75 6e 74 27 5d 20 3a 20 6e ]).?.$options['limit_count'].:.n
85c0 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 74 79 70 65 20 20 ull;.........$this->limit_type..
85e0 3d 20 24 64 62 68 2d 3e 66 65 61 74 75 72 65 73 5b 27 6c 69 6d 69 74 27 5d 3b 0a 20 20 20 20 20 =.$dbh->features['limit'];......
8600 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 66 72 65 65 20 20 20 20 3d 20 24 64 62 68 2d 3e 6f 70 ...$this->autofree....=.$dbh->op
8620 74 69 6f 6e 73 5b 27 61 75 74 6f 66 72 65 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 tions['autofree'];.........$this
8640 2d 3e 66 65 74 63 68 6d 6f 64 65 20 20 20 3d 20 24 64 62 68 2d 3e 66 65 74 63 68 6d 6f 64 65 3b ->fetchmode...=.$dbh->fetchmode;
8660 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 .........$this->fetchmode_object
8680 5f 63 6c 61 73 73 20 3d 20 24 64 62 68 2d 3e 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 5f _class.=.$dbh->fetchmode_object_
86a0 63 6c 61 73 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 class;.....}....../**......*.Fet
86c0 63 68 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 20 28 69 74 20 ch.and.return.a.row.of.data.(it.
86e0 75 73 65 73 20 64 72 69 76 65 72 2d 3e 66 65 74 63 68 49 6e 74 6f 20 66 6f 72 20 74 68 61 74 29 uses.driver->fetchInto.for.that)
8700 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 66 65 74 63 68 6d 6f 64 65 20 66 6f ......*.@param.int.$fetchmode.fo
8720 72 6d 61 74 20 6f 66 20 66 65 74 63 68 65 64 20 72 6f 77 0a 20 20 20 20 20 2a 20 40 70 61 72 61 rmat.of.fetched.row......*.@para
8740 6d 20 69 6e 74 20 24 72 6f 77 6e 75 6d 20 20 20 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 m.int.$rownum....the.row.number.
8760 74 6f 20 66 65 74 63 68 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 20 to.fetch......*......*.@return..
8780 61 72 72 61 79 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 2c 20 4e 55 4c 4c 20 6f 6e 20 6e 6f 20 array.a.row.of.data,.NULL.on.no.
87a0 6d 6f 72 65 20 72 6f 77 73 20 6f 72 20 50 45 41 52 5f 45 72 72 6f 72 20 6f 6e 20 65 72 72 6f 72 more.rows.or.PEAR_Error.on.error
87c0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 ......*......*.@access.public...
87e0 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 77 28 24 66 65 74 ...*/.....function.fetchRow($fet
8800 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 2c 20 24 chmode.=.DB_FETCHMODE_DEFAULT,.$
8820 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 rownum=null).....{.........if.($
8840 66 65 74 63 68 6d 6f 64 65 20 3d 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 fetchmode.===.DB_FETCHMODE_DEFAU
8860 4c 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 LT).{.............$fetchmode.=.$
8880 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 this->fetchmode;.........}......
88a0 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f ...if.($fetchmode.===.DB_FETCHMO
88c0 44 45 5f 4f 42 4a 45 43 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d DE_OBJECT).{.............$fetchm
88e0 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 3b 0a 20 20 20 20 20 20 ode.=.DB_FETCHMODE_ASSOC;.......
8900 20 20 20 20 20 20 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 ......$object_class.=.$this->fet
8920 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 5f 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 chmode_object_class;.........}..
8940 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 20 21 3d 3d .......if.($this->limit_from.!==
8960 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e .null).{.............if.($this->
8980 72 6f 77 5f 63 6f 75 6e 74 65 72 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 row_counter.===.null).{.........
89a0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 20 3d 20 24 74 68 ........$this->row_counter.=.$th
89c0 69 73 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is->limit_from;.................
89e0 2f 2f 20 53 6b 69 70 20 72 6f 77 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 //.Skip.rows.................if.
8a00 28 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 74 79 70 65 20 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 ($this->limit_type.==.false).{..
8a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 30 3b 0a 20 20 20 20 20 ...................$i.=.0;......
8a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 69 2b 2b 20 3c 20 24 74 68 ...............while.($i++.<.$th
8a60 69 73 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is->limit_from).{...............
8a80 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 74 63 68 49 6e 74 6f 28 ..........$this->dbh->fetchInto(
8aa0 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 29 $this->result,.$arr,.$fetchmode)
8ac0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ;.....................}.........
8ae0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ........}.............}.........
8b00 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 20 3e 3d 20 28 0a ....if.($this->row_counter.>=.(.
8b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 ....................$this->limit
8b40 5f 66 72 6f 6d 20 2b 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 63 6f 75 6e 74 29 29 0a 20 20 20 _from.+.$this->limit_count))....
8b60 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 .........{.................retur
8b80 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 n.null;.............}...........
8ba0 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 74 79 70 65 20 3d 3d 20 27 65 6d 75 6c ..if.($this->limit_type.==.'emul
8bc0 61 74 65 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 6e 75 6d 20 ate').{.................$rownum.
8be0 3d 20 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 =.$this->row_counter;...........
8c00 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e ..}..............$this->row_coun
8c20 74 65 72 2b 2b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 ter++;.........}.........$res.=.
8c40 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 74 63 68 49 6e 74 6f 28 24 74 68 69 73 2d 3e 72 65 73 $this->dbh->fetchInto($this->res
8c60 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 29 3b ult,.$arr,.$fetchmode,.$rownum);
8c80 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 20 21 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 .........if.($res.!==.DB_OK).{..
8ca0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 20 3d 3d 20 6e 75 6c 6c 20 26 26 20 24 ...........if.($res.==.null.&&.$
8cc0 74 68 69 73 2d 3e 61 75 74 6f 66 72 65 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 this->autofree).{...............
8ce0 20 20 24 74 68 69 73 2d 3e 66 72 65 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ..$this->free();.............}..
8d00 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 ...........return.$res;.........
8d20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 65 63 74 5f 63 6c 61 73 }.........if.(isset($object_clas
8d40 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 65 66 61 75 6c 74 20 6d 6f 64 s)).{.............//.default.mod
8d60 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 44 42 5f 63 6f 6d 6d 6f 6e 3a 3a 66 65 74 63 68 6d e.specified.in.DB_common::fetchm
8d80 6f 64 65 5f 6f 62 6a 65 63 74 5f 63 6c 61 73 73 20 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 ode_object_class.property.......
8da0 20 20 20 20 20 20 69 66 20 28 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 20 3d 3d 20 27 73 74 64 43 ......if.($object_class.==.'stdC
8dc0 6c 61 73 73 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 lass').{.................$ret.=.
8de0 28 6f 62 6a 65 63 74 29 20 24 61 72 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 (object).$arr;.............}.els
8e00 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 26 20 6e 65 77 20 e.{.................$ret.=&.new.
8e20 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 28 24 61 72 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 $object_class($arr);............
8e40 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 .}.............return.$ret;.....
8e60 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 3b 0a 20 20 20 20 7d ....}.........return.$arr;.....}
8e80 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 61 20 72 6f 77 20 6f 66 20 ....../**......*.Fetch.a.row.of.
8ea0 64 61 74 61 20 69 6e 74 6f 20 61 6e 20 65 78 69 73 74 69 6e 67 20 76 61 72 69 61 62 6c 65 2e 0a data.into.an.existing.variable..
8ec0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 6d 69 78 65 64 20 20 20 26 24 .....*......*.@param..mixed...&$
8ee0 61 72 72 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 64 61 74 61 20 63 6f 6e 74 61 69 arr.....reference.to.data.contai
8f00 6e 69 6e 67 20 74 68 65 20 72 6f 77 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 69 6e 74 65 ning.the.row......*.@param..inte
8f20 67 65 72 20 24 66 65 74 63 68 6d 6f 64 20 66 6f 72 6d 61 74 20 6f 66 20 66 65 74 63 68 65 64 20 ger.$fetchmod.format.of.fetched.
8f40 72 6f 77 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 69 6e 74 65 67 65 72 20 24 72 6f 77 6e row......*.@param..integer.$rown
8f60 75 6d 20 20 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 0a 20 20 20 um...the.row.number.to.fetch....
8f80 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 20 6d 69 78 65 64 20 20 44 42 5f 4f 4b ..*......*.@return..mixed..DB_OK
8fa0 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 4e 55 4c 4c 20 6f 6e 20 6e 6f 20 6d 6f 72 65 20 72 6f 77 .on.success,.NULL.on.no.more.row
8fc0 73 20 6f 72 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 44 42 s.or......*.................a.DB
8fe0 5f 45 72 72 6f 72 20 6f 62 6a 65 63 74 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 0a 20 20 _Error.object.on.error......*...
9000 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ...*.@access.public......*/.....
9020 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 26 24 61 72 72 2c 20 24 66 65 74 63 68 function.fetchInto(&$arr,.$fetch
9040 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 2c 20 24 72 6f mode.=.DB_FETCHMODE_DEFAULT,.$ro
9060 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 wnum=null).....{.........if.($fe
9080 74 63 68 6d 6f 64 65 20 3d 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 tchmode.===.DB_FETCHMODE_DEFAULT
90a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 ).{.............$fetchmode.=.$th
90c0 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 is->fetchmode;.........}........
90e0 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 .if.($fetchmode.===.DB_FETCHMODE
9100 5f 4f 42 4a 45 43 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 _OBJECT).{.............$fetchmod
9120 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 3b 0a 20 20 20 20 20 20 20 20 e.=.DB_FETCHMODE_ASSOC;.........
9140 20 20 20 20 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 ....$object_class.=.$this->fetch
9160 6d 6f 64 65 5f 6f 62 6a 65 63 74 5f 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 mode_object_class;.........}....
9180 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 20 21 3d 3d 20 6e .....if.($this->limit_from.!==.n
91a0 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 72 6f ull).{.............if.($this->ro
91c0 77 5f 63 6f 75 6e 74 65 72 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 w_counter.===.null).{...........
91e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 20 3d 20 24 74 68 69 73 ......$this->row_counter.=.$this
9200 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f ->limit_from;.................//
9220 20 53 6b 69 70 20 72 6f 77 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 .Skip.rows.................if.($
9240 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 74 79 70 65 20 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 this->limit_type.==.false).{....
9260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 .................$i.=.0;........
9280 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 69 2b 2b 20 3c 20 24 74 68 69 73 .............while.($i++.<.$this
92a0 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ->limit_from).{.................
92c0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 74 63 68 49 6e 74 6f 28 24 74 ........$this->dbh->fetchInto($t
92e0 68 69 73 2d 3e 72 65 73 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 29 3b 0a his->result,.$arr,.$fetchmode);.
9300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
9320 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ......}.............}...........
9340 20 20 69 66 20 28 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 20 3e 3d 20 28 0a 20 20 ..if.($this->row_counter.>=.(...
9360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 66 ..................$this->limit_f
9380 72 6f 6d 20 2b 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 rom.+.$this->limit_count))......
93a0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 .......{.................return.
93c0 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 null;.............}.............
93e0 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 74 79 70 65 20 3d 3d 20 27 65 6d 75 6c 61 74 if.($this->limit_type.==.'emulat
9400 65 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 6e 75 6d 20 3d 20 e').{.................$rownum.=.
9420 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $this->row_counter;.............
9440 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 }..............$this->row_counte
9460 72 2b 2b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 r++;.........}.........$res.=.$t
9480 68 69 73 2d 3e 64 62 68 2d 3e 66 65 74 63 68 49 6e 74 6f 28 24 74 68 69 73 2d 3e 72 65 73 75 6c his->dbh->fetchInto($this->resul
94a0 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 t,.$arr,.$fetchmode,.$rownum);..
94c0 20 20 20 20 20 20 20 69 66 20 28 28 24 72 65 73 20 3d 3d 3d 20 44 42 5f 4f 4b 29 20 26 26 20 69 .......if.(($res.===.DB_OK).&&.i
94e0 73 73 65 74 28 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 sset($object_class)).{..........
9500 20 20 20 2f 2f 20 64 65 66 61 75 6c 74 20 6d 6f 64 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 ...//.default.mode.specified.in.
9520 44 42 5f 63 6f 6d 6d 6f 6e 3a 3a 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 5f 63 6c 61 73 DB_common::fetchmode_object_clas
9540 73 20 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 62 6a 65 s.property.............if.($obje
9560 63 74 5f 63 6c 61 73 73 20 3d 3d 20 27 73 74 64 43 6c 61 73 73 27 29 20 7b 0a 20 20 20 20 20 20 ct_class.==.'stdClass').{.......
9580 20 20 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 28 6f 62 6a 65 63 74 29 20 24 61 72 72 3b 0a ..........$arr.=.(object).$arr;.
95a0 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
95c0 20 20 20 20 20 24 61 72 72 20 3d 20 6e 65 77 20 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 28 24 61 .....$arr.=.new.$object_class($a
95e0 72 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 rr);.............}.........}.els
9600 65 69 66 20 28 24 72 65 73 20 3d 3d 20 6e 75 6c 6c 20 26 26 20 24 74 68 69 73 2d 3e 61 75 74 6f eif.($res.==.null.&&.$this->auto
9620 66 72 65 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 65 65 28 free).{.............$this->free(
9640 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 );.........}.........return.$res
9660 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 ;.....}....../**......*.Get.the.
9680 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 69 6e 20 61 20 72 65 73 75 6c the.number.of.columns.in.a.resul
96a0 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 t.set.......*......*.@return.int
96c0 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 2c 20 6f 72 20 61 20 44 42 20 .the.number.of.columns,.or.a.DB.
96e0 65 72 72 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c error......*......*.@access.publ
9700 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 43 6f 6c 73 28 ic......*/.....function.numCols(
9720 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 62 ).....{.........return.$this->db
9740 68 2d 3e 6e 75 6d 43 6f 6c 73 28 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 7d h->numCols($this->result);.....}
9760 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 ....../**......*.Get.the.number.
9780 6f 66 20 72 6f 77 73 20 69 6e 20 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a of.rows.in.a.result.set.......*.
97a0 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 .....*.@return.int.the.number.of
97c0 20 72 6f 77 73 2c 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 .rows,.or.a.DB.error......*.....
97e0 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 .*.@access.public......*/.....fu
9800 6e 63 74 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 nction.numRows().....{.........r
9820 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 62 68 2d 3e 6e 75 6d 52 6f 77 73 28 24 74 68 69 73 2d eturn.$this->dbh->numRows($this-
9840 3e 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 >result);.....}....../**......*.
9860 47 65 74 20 74 68 65 20 6e 65 78 74 20 72 65 73 75 6c 74 20 69 66 20 61 20 62 61 74 63 68 20 6f Get.the.next.result.if.a.batch.o
9880 66 20 71 75 65 72 69 65 73 20 77 61 73 20 65 78 65 63 75 74 65 64 2e 0a 20 20 20 20 20 2a 0a 20 f.queries.was.executed.......*..
98a0 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 61 20 6e 65 77 ....*.@return.bool.true.if.a.new
98c0 20 72 65 73 75 6c 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 66 61 6c 73 65 20 69 66 .result.is.available.or.false.if
98e0 20 6e 6f 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c .not.......*......*.@access.publ
9900 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 65 73 75 ic......*/.....function.nextResu
9920 6c 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d lt().....{.........return.$this-
9940 3e 64 62 68 2d 3e 6e 65 78 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 29 3b >dbh->nextResult($this->result);
9960 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 72 65 65 73 20 74 68 65 .....}....../**......*.Frees.the
9980 20 72 65 73 6f 75 72 63 65 73 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 74 68 69 73 20 72 65 .resources.allocated.for.this.re
99a0 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 20 69 6e 74 20 65 72 sult.set.......*.@return..int.er
99c0 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 ror.code......*......*.@access.p
99e0 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 28 ublic......*/.....function.free(
9a00 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 65 72 72 20 3d 20 24 74 68 69 73 2d 3e 64 62 ).....{.........$err.=.$this->db
9a20 68 2d 3e 66 72 65 65 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 29 3b 0a 20 20 h->freeResult($this->result);...
9a40 20 20 20 20 20 20 69 66 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 65 72 72 29 29 20 7b 0a 20 20 ......if(DB::isError($err)).{...
9a60 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 72 72 3b 0a 20 20 20 20 20 20 20 20 7d ..........return.$err;.........}
9a80 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a .........$this->result.=.false;.
9aa0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ........return.true;.....}......
9ac0 2f 2a 2a 0a 20 20 20 20 2a 20 40 64 65 70 72 65 63 61 74 65 64 0a 20 20 20 20 2a 2f 0a 20 20 20 /**.....*.@deprecated.....*/....
9ae0 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 49 6e 66 6f 28 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c .function.tableInfo($mode.=.null
9b00 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 62 ).....{.........return.$this->db
9b20 68 2d 3e 74 61 62 6c 65 49 6e 66 6f 28 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 2c 20 24 6d 6f 64 h->tableInfo($this->result,.$mod
9b40 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 72 65 74 75 72 6e 73 e);.....}....../**.....*.returns
9b60 20 74 68 65 20 61 63 74 75 61 6c 20 72 6f 77 20 6e 75 6d 62 65 72 0a 20 20 20 20 2a 20 40 72 65 .the.actual.row.number.....*.@re
9b80 74 75 72 6e 20 69 6e 74 65 67 65 72 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e turn.integer.....*/.....function
9ba0 20 67 65 74 52 6f 77 43 6f 75 6e 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 .getRowCounter().....{.........r
9bc0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 3b 0a 20 20 20 20 7d 0a eturn.$this->row_counter;.....}.
9be0 7d 0a 0a 2f 2a 2a 0a 2a 20 50 65 61 72 20 44 42 20 52 6f 77 20 4f 62 6a 65 63 74 0a 2a 20 40 73 }../**.*.Pear.DB.Row.Object.*.@s
9c00 65 65 20 44 42 5f 63 6f 6d 6d 6f 6e 3a 3a 73 65 74 46 65 74 63 68 4d 6f 64 65 28 29 0a 2a 2f 0a ee.DB_common::setFetchMode().*/.
9c20 63 6c 61 73 73 20 44 42 5f 72 6f 77 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 63 6f 6e class.DB_row.{...../**.....*.con
9c40 73 74 72 75 63 74 6f 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 73 6f structor.....*.....*.@param.reso
9c60 75 72 63 65 20 72 6f 77 20 64 61 74 61 20 61 73 20 61 72 72 61 79 0a 20 20 20 20 2a 2f 0a 20 20 urce.row.data.as.array.....*/...
9c80 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 72 6f 77 28 26 24 61 72 72 29 0a 20 20 20 20 7b 0a 20 ..function.DB_row(&$arr).....{..
9ca0 20 20 20 20 20 20 20 66 6f 72 20 28 72 65 73 65 74 28 24 61 72 72 29 3b 20 24 6b 65 79 20 3d 20 .......for.(reset($arr);.$key.=.
9cc0 6b 65 79 28 24 61 72 72 29 3b 20 6e 65 78 74 28 24 61 72 72 29 29 20 7b 0a 20 20 20 20 20 20 20 key($arr);.next($arr)).{........
9ce0 20 20 20 20 20 24 74 68 69 73 2d 3e 24 6b 65 79 20 3d 20 26 24 61 72 72 5b 24 6b 65 79 5d 3b 0a .....$this->$key.=.&$arr[$key];.
9d00 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 3f 3e 0a 00 00 00 00 00 00 00 00 00 00 ........}.....}.}..?>...........
9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e00 44 42 2d 31 2e 33 2f 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/common.php............
9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
9e80 20 31 31 35 30 32 31 20 20 37 35 30 31 36 36 31 32 36 34 20 20 20 37 32 30 37 20 00 00 00 00 00 .115021..7501661264...7207......
9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a000 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
a020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
a060 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
a0a0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
a0c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a0e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
a100 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
a120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
a140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a180 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
a1a0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
a1c0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
a1e0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
a200 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
a220 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
a240 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
a260 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
a280 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
a2c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
a2e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
a300 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
a320 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
a340 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
a360 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
a380 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
a3a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a3c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a3e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 ---+.//.|.Author:.Stig.Bakken.<s
a400 73 62 40 66 61 73 74 2e 6e 6f 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sb@fast.no>.....................
a420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
a440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
a480 2f 2f 20 24 49 64 3a 20 63 6f 6d 6d 6f 6e 2e 70 68 70 2c 76 20 31 2e 38 20 32 30 30 32 2f 30 36 //.$Id:.common.php,v.1.8.2002/06
a4a0 2f 31 32 20 31 35 3a 30 33 3a 31 36 20 66 61 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 42 61 73 /12.15:03:16.fab.Exp.$.//.//.Bas
a4c0 65 20 63 6c 61 73 73 20 66 6f 72 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 2e 0a e.class.for.DB.implementations..
a4e0 2f 2f 0a 0a 2f 2a 2a 0a 20 2a 20 44 42 5f 63 6f 6d 6d 6f 6e 20 69 73 20 61 20 62 61 73 65 20 63 //../**..*.DB_common.is.a.base.c
a500 6c 61 73 73 20 66 6f 72 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 2c 20 61 6e 64 lass.for.DB.implementations,.and
a520 20 6d 75 73 74 20 62 65 0a 20 2a 20 69 6e 68 65 72 69 74 65 64 20 62 79 20 61 6c 6c 20 73 75 63 .must.be..*.inherited.by.all.suc
a540 68 2e 0a 20 2a 2f 0a 0a 63 6c 61 73 73 20 44 42 5f 63 6f 6d 6d 6f 6e 20 65 78 74 65 6e 64 73 20 h...*/..class.DB_common.extends.
a560 50 45 41 52 0a 7b 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 PEAR.{.....//.{{{.properties....
a580 20 2f 2a 2a 0a 20 20 20 20 2a 20 61 73 73 6f 63 20 6f 66 20 63 61 70 61 62 69 6c 69 74 69 65 73 ./**.....*.assoc.of.capabilities
a5a0 20 66 6f 72 20 74 68 69 73 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 .for.this.DB.implementation.....
a5c0 2a 20 24 66 65 61 74 75 72 65 73 5b 27 6c 69 6d 69 74 27 5d 20 3d 3e 20 20 27 65 6d 75 6c 61 74 *.$features['limit'].=>..'emulat
a5e0 65 27 20 3d 3e 20 65 6d 75 6c 61 74 65 20 77 69 74 68 20 66 65 74 63 68 20 72 6f 77 20 62 79 20 e'.=>.emulate.with.fetch.row.by.
a600 6e 75 6d 62 65 72 0a 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 number.....*....................
a620 20 20 20 20 27 61 6c 74 65 72 27 20 20 20 3d 3e 20 61 6c 74 65 72 20 74 68 65 20 71 75 65 72 79 ....'alter'...=>.alter.the.query
a640 0a 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 61 .....*........................fa
a660 6c 73 65 20 20 20 20 20 3d 3e 20 73 6b 69 70 20 72 6f 77 73 0a 20 20 20 20 2a 20 40 76 61 72 20 lse.....=>.skip.rows.....*.@var.
a680 61 72 72 61 79 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 66 65 61 74 75 72 65 73 3b 0a array.....*/.....var.$features;.
a6a0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 61 73 73 6f 63 20 6d 61 70 70 69 6e 67 20 6e 61 74 ...../**.....*.assoc.mapping.nat
a6c0 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 74 6f 20 44 42 20 6f 6e 65 73 0a 20 20 20 20 2a ive.error.codes.to.DB.ones.....*
a6e0 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 65 72 72 6f .@var.array.....*/.....var.$erro
a700 72 63 6f 64 65 5f 6d 61 70 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 44 42 20 74 79 70 rcode_map;....../**.....*.DB.typ
a720 65 20 28 6d 79 73 71 6c 2c 20 6f 63 69 38 2c 20 6f 64 62 63 20 65 74 63 2e 29 0a 20 20 20 20 2a e.(mysql,.oci8,.odbc.etc.).....*
a740 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 74 79 70 .@var.string.....*/.....var.$typ
a760 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 e;....../**.....*.@var.string...
a780 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 3b 0a 0a 20 ..*/.....var.$prepare_tokens;...
a7a0 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a .../**.....*.@var.string.....*/.
a7c0 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 79 70 65 73 3b 0a 0a 20 20 20 20 2f 2a 2a ....var.$prepare_types;....../**
a7e0 0a 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 .....*.@var.string.....*/.....va
a800 72 20 24 70 72 65 70 61 72 65 64 5f 71 75 65 72 69 65 73 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 r.$prepared_queries;....../**...
a820 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 ..*.@var.integer.....*/.....var.
a840 24 70 72 65 70 61 72 65 5f 6d 61 78 73 74 6d 74 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 $prepare_maxstmt.=.0;....../**..
a860 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 ...*.@var.string.....*/.....var.
a880 24 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 27 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a $last_query.=.'';....../**.....*
a8a0 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 66 65 .@var.integer.....*/.....var.$fe
a8c0 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 3b 0a tchmode.=.DB_FETCHMODE_ORDERED;.
a8e0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 2a ...../**.....*.@var.string.....*
a900 2f 0a 20 20 20 20 76 61 72 20 24 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 5f 63 6c 61 73 /.....var.$fetchmode_object_clas
a920 73 20 3d 20 27 73 74 64 43 6c 61 73 73 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 24 s.=.'stdClass';....../**.....*.$
a940 6f 70 74 69 6f 6e 73 5b 22 70 65 72 73 69 73 74 65 6e 74 22 5d 20 2d 3e 20 62 6f 6f 6c 65 61 6e options["persistent"].->.boolean
a960 20 70 65 72 73 69 73 74 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 72 75 65 7c 66 61 6c 73 .persistent.connection.true|fals
a980 65 3f 0a 20 20 20 20 2a 20 24 6f 70 74 69 6f 6e 73 5b 22 6f 70 74 69 6d 69 7a 65 22 5d 20 2d 3e e?.....*.$options["optimize"].->
a9a0 20 73 74 72 69 6e 67 20 27 70 65 72 66 6f 72 6d 61 6e 63 65 27 20 6f 72 20 27 70 6f 72 74 61 62 .string.'performance'.or.'portab
a9c0 69 6c 69 74 79 27 0a 20 20 20 20 2a 20 24 6f 70 74 69 6f 6e 73 5b 22 64 65 62 75 67 22 5d 20 2d ility'.....*.$options["debug"].-
a9e0 3e 20 69 6e 74 65 67 65 72 20 6e 75 6d 65 72 69 63 20 64 65 62 75 67 20 6c 65 76 65 6c 0a 20 20 >.integer.numeric.debug.level...
aa00 20 20 2a 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 6f ..*.@var.array.....*/.....var.$o
aa20 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 27 70 65 72 73 69 73 74 ptions.=.array(.........'persist
aa40 65 6e 74 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 27 6f 70 74 69 6d 69 7a 65 ent'.=>.false,.........'optimize
aa60 27 20 3d 3e 20 27 70 65 72 66 6f 72 6d 61 6e 63 65 27 2c 0a 20 20 20 20 20 20 20 20 27 64 65 62 '.=>.'performance',.........'deb
aa80 75 67 27 20 3d 3e 20 30 2c 0a 20 20 20 20 20 20 20 20 27 73 65 71 6e 61 6d 65 5f 66 6f 72 6d 61 ug'.=>.0,.........'seqname_forma
aaa0 74 27 20 3d 3e 20 27 25 73 5f 73 65 71 27 2c 0a 20 20 20 20 20 20 20 20 27 61 75 74 6f 66 72 65 t'.=>.'%s_seq',.........'autofre
aac0 65 27 20 3d 3e 20 66 61 6c 73 65 0a 20 20 20 20 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 e'.=>.false.....);....../**.....
aae0 2a 20 44 42 20 68 61 6e 64 6c 65 0a 20 20 20 20 2a 20 40 76 61 72 20 72 65 73 6f 75 72 63 65 0a *.DB.handle.....*.@var.resource.
ab00 20 20 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 64 62 68 3b 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d ....*/.....var.$dbh;......//.}}}
ab20 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 74 6f 53 74 72 69 6e 67 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 .....//.{{{.toString()...../**..
ab40 20 20 20 2a 20 53 74 72 69 6e 67 20 63 6f 6e 76 65 72 73 61 74 69 6f 6e 0a 20 20 20 20 2a 0a 20 ...*.String.conversation.....*..
ab60 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 20 40 61 63 63 65 73 ...*.@return.string.....*.@acces
ab80 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 6f s.private.....*/.....function.to
aba0 53 74 72 69 6e 67 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 3d 20 67 String().....{.........$info.=.g
abc0 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e et_class($this);.........$info..
abe0 3d 20 20 22 3a 20 28 70 68 70 74 79 70 65 3d 22 20 2e 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 =..":.(phptype="...$this->phptyp
ac00 65 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 20 64 62 73 79 6e 74 61 e.....................",.dbsynta
ac20 78 3d 22 20 2e 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 2e 0a 20 20 20 20 20 20 20 20 x="...$this->dbsyntax...........
ac40 20 20 20 20 20 20 20 20 20 20 22 29 22 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 ..........")";..........if.($thi
ac60 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e s->connection).{.............$in
ac80 66 6f 20 2e 3d 20 22 20 5b 63 6f 6e 6e 65 63 74 65 64 5d 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a fo..=.".[connected]";.........}.
aca0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 20 20 20 20 7d 0a 0a 20 20 .........return.$info;.....}....
acc0 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 75 63 74 6f 72 0a ..//.}}}.....//.{{{.constructor.
ace0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 0a 20 20 20 20 2a 2f ..../**.....*.Constructor.....*/
ad00 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 63 6f 6d 6d 6f 6e 28 29 0a 20 20 20 20 7b 0a .....function.DB_common().....{.
ad20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 50 45 41 52 28 27 44 42 5f 45 72 72 6f 72 27 29 3b ........$this->PEAR('DB_Error');
ad40 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 79 .........$this->features.=.array
ad60 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 ();.........$this->errorcode_map
ad80 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 74 63 68 .=.array();.........$this->fetch
ada0 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 3b 0a 20 20 20 mode.=.DB_FETCHMODE_ORDERED;....
adc0 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 71 75 6f 74 65 53 .}......//.}}}.....//.{{{.quoteS
ade0 74 72 69 6e 67 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 51 75 6f 74 65 73 20 61 tring()....../**......*.Quotes.a
ae00 20 73 74 72 69 6e 67 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 75 73 65 64 .string.so.it.can.be.safely.used
ae20 20 77 69 74 68 69 6e 20 73 74 72 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 73 0a 20 20 20 20 20 2a .within.string.delimiters......*
ae40 20 69 6e 20 61 20 71 75 65 72 79 20 28 70 72 65 73 65 72 76 65 64 20 66 6f 72 20 63 6f 6d 70 61 .in.a.query.(preserved.for.compa
ae60 74 69 62 69 6c 69 74 79 20 69 73 73 75 65 73 2c 20 71 75 6f 74 65 28 29 20 69 73 20 70 72 65 66 tibility.issues,.quote().is.pref
ae80 66 65 72 65 64 29 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 fered).......*......*.@return.st
aea0 72 69 6e 67 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 ring.quoted.string......*.@acces
aec0 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 73 65 65 20 71 75 6f 74 65 28 29 0a 20 20 20 s.public......*.@see.quote()....
aee0 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 53 74 72 69 6e 67 28 24 73 ..*/.....function.quoteString($s
af00 74 72 69 6e 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 74 72 69 6e 67 20 3d 20 24 tring).....{.........$string.=.$
af20 74 68 69 73 2d 3e 71 75 6f 74 65 28 24 73 74 72 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 69 66 this->quote($string);.........if
af40 20 28 24 73 74 72 69 6e 67 7b 30 7d 20 3d 3d 20 22 27 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .($string{0}.==."'").{..........
af60 20 20 20 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 73 74 72 69 6e 67 2c 20 31 2c 20 2d 31 29 ...return.substr($string,.1,.-1)
af80 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 72 69 ;.........}.........return.$stri
afa0 6e 67 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 51 75 6f 74 65 73 ng;.....}....../**......*.Quotes
afc0 20 61 20 73 74 72 69 6e 67 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 75 73 .a.string.so.it.can.be.safely.us
afe0 65 64 20 69 6e 20 61 20 71 75 65 72 79 2e 20 49 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 0a 20 20 ed.in.a.query..It.will.return...
b000 20 20 20 2a 20 74 68 65 20 73 74 72 69 6e 67 20 77 69 74 68 20 73 69 6e 67 6c 65 20 71 75 6f 74 ...*.the.string.with.single.quot
b020 65 73 20 61 72 6f 75 6e 64 2e 20 4f 74 68 65 72 20 62 61 63 6b 65 6e 64 20 71 75 6f 74 65 20 73 es.around..Other.backend.quote.s
b040 74 79 6c 65 73 0a 20 20 20 20 20 2a 20 73 68 6f 75 6c 64 20 6f 76 65 72 72 69 64 65 20 74 68 69 tyles......*.should.override.thi
b060 73 20 6d 65 74 68 6f 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 s.method.......*......*.@param.s
b080 74 72 69 6e 67 20 24 73 74 72 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 74 tring.$string.the.input.string.t
b0a0 6f 20 71 75 6f 74 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 o.quote......*......*.@return.st
b0c0 72 69 6e 67 20 54 68 65 20 4e 55 4c 4c 20 73 74 72 69 6e 67 20 6f 72 20 74 68 65 20 73 74 72 69 ring.The.NULL.string.or.the.stri
b0e0 6e 67 20 71 75 6f 74 65 73 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.quotes......*................
b100 69 6e 20 6d 61 67 69 63 5f 71 75 6f 74 65 5f 73 79 62 61 73 65 20 73 74 79 6c 65 0a 20 20 20 20 in.magic_quote_sybase.style.....
b120 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 28 24 73 74 72 69 6e 67 29 0a .*/.....function.quote($string).
b140 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 24 73 74 72 69 6e 67 20 3d 3d ....{.........return.($string.==
b160 3d 20 6e 75 6c 6c 29 20 3f 20 27 4e 55 4c 4c 27 20 3a 20 22 27 22 2e 73 74 72 5f 72 65 70 6c 61 =.null).?.'NULL'.:."'".str_repla
b180 63 65 28 22 27 22 2c 20 22 27 27 22 2c 20 24 73 74 72 69 6e 67 29 2e 22 27 22 3b 0a 20 20 20 20 ce("'",."''",.$string)."'";.....
b1a0 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 6f 76 69 64 65 }......//.}}}.....//.{{{.provide
b1c0 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 65 6c 6c 20 77 68 65 74 68 65 72 s()....../**......*.Tell.whether
b1e0 20 61 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 72 20 69 74 73 20 62 61 63 6b .a.DB.implementation.or.its.back
b200 65 6e 64 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 2a 20 73 75 70 70 6f 72 74 73 20 61 20 end.extension......*.supports.a.
b220 67 69 76 65 6e 20 66 65 61 74 75 72 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 given.feature.......*......*.@pa
b240 72 61 6d 20 61 72 72 61 79 20 24 66 65 61 74 75 72 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 ram.array.$feature.name.of.the.f
b260 65 61 74 75 72 65 20 28 73 65 65 20 74 68 65 20 44 42 20 63 6c 61 73 73 20 64 6f 63 29 0a 20 20 eature.(see.the.DB.class.doc)...
b280 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 68 65 74 68 65 72 20 74 68 69 73 20 44 ...*.@return.bool.whether.this.D
b2a0 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 20 24 66 65 61 74 75 B.implementation.supports.$featu
b2c0 72 65 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f re......*.@access.public......*/
b2e0 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 73 28 24 66 65 61 74 75 72 65 ......function.provides($feature
b300 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 65 ).....{.........return.$this->fe
b320 61 74 75 72 65 73 5b 24 66 65 61 74 75 72 65 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 atures[$feature];.....}......//.
b340 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 65 72 72 6f 72 43 6f 64 65 28 29 0a 0a 20 20 20 20 }}}.....//.{{{.errorCode()......
b360 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 61 70 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 /**......*.Map.native.error.code
b380 73 20 74 6f 20 44 42 27 73 20 70 6f 72 74 61 62 6c 65 20 6f 6e 65 73 2e 20 20 52 65 71 75 69 72 s.to.DB's.portable.ones...Requir
b3a0 65 73 20 74 68 61 74 0a 20 20 20 20 20 2a 20 74 68 65 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 es.that......*.the.DB.implementa
b3c0 74 69 6f 6e 27 73 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 66 69 6c 6c 73 20 69 6e 20 74 68 65 20 tion's.constructor.fills.in.the.
b3e0 24 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 0a 20 20 20 20 20 2a 20 70 72 6f 70 65 72 74 79 2e 0a $errorcode_map......*.property..
b400 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 24 6e 61 74 69 .....*......*.@param.mixed.$nati
b420 76 65 63 6f 64 65 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 61 73 vecode.the.native.error.code,.as
b440 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 62 61 63 6b 65 6e 64 0a 20 20 20 20 20 2a 20 .returned.by.the.backend......*.
b460 64 61 74 61 62 61 73 65 20 65 78 74 65 6e 73 69 6f 6e 20 28 73 74 72 69 6e 67 20 6f 72 20 69 6e database.extension.(string.or.in
b480 74 65 67 65 72 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 teger)......*......*.@return.int
b4a0 20 61 20 70 6f 72 74 61 62 6c 65 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 6f 72 20 46 41 .a.portable.DB.error.code,.or.FA
b4c0 4c 53 45 20 69 66 20 74 68 69 73 20 44 42 0a 20 20 20 20 20 2a 20 69 6d 70 6c 65 6d 65 6e 74 61 LSE.if.this.DB......*.implementa
b4e0 74 69 6f 6e 20 68 61 73 20 6e 6f 20 6d 61 70 70 69 6e 67 20 66 6f 72 20 74 68 65 20 67 69 76 65 tion.has.no.mapping.for.the.give
b500 6e 20 65 72 72 6f 72 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 n.error.code.......*......*.@acc
b520 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e ess.public......*/......function
b540 20 65 72 72 6f 72 43 6f 64 65 28 24 6e 61 74 69 76 65 63 6f 64 65 29 0a 20 20 20 20 7b 0a 20 20 .errorCode($nativecode).....{...
b560 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 ......if.(isset($this->errorcode
b580 5f 6d 61 70 5b 24 6e 61 74 69 76 65 63 6f 64 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 _map[$nativecode])).{...........
b5a0 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 5b 24 6e ..return.$this->errorcode_map[$n
b5c0 61 74 69 76 65 63 6f 64 65 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f ativecode];.........}.........//
b5e0 20 46 61 6c 6c 20 62 61 63 6b 20 74 6f 20 44 42 5f 45 52 52 4f 52 20 69 66 20 74 68 65 72 65 20 .Fall.back.to.DB_ERROR.if.there.
b600 77 61 73 20 6e 6f 20 6d 61 70 70 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 was.no.mapping..........return.D
b620 42 5f 45 52 52 4f 52 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f B_ERROR;.....}......//.}}}...../
b640 2f 20 7b 7b 7b 20 65 72 72 6f 72 4d 65 73 73 61 67 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 /.{{{.errorMessage()....../**...
b660 20 20 20 2a 20 4d 61 70 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 74 6f 20 61 20 74 65 ...*.Map.a.DB.error.code.to.a.te
b680 78 74 75 61 6c 20 6d 65 73 73 61 67 65 2e 20 20 54 68 69 73 20 69 73 20 61 63 74 75 61 6c 6c 79 xtual.message...This.is.actually
b6a0 0a 20 20 20 20 20 2a 20 6a 75 73 74 20 61 20 77 72 61 70 70 65 72 20 66 6f 72 20 44 42 3a 3a 65 ......*.just.a.wrapper.for.DB::e
b6c0 72 72 6f 72 4d 65 73 73 61 67 65 28 29 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 rrorMessage().......*......*.@pa
b6e0 72 61 6d 20 69 6e 74 65 67 65 72 20 24 64 62 63 6f 64 65 20 74 68 65 20 44 42 20 65 72 72 6f 72 ram.integer.$dbcode.the.DB.error
b700 20 63 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 .code......*......*.@return.stri
b720 6e 67 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 72 72 6f 72 20 6d 65 73 73 61 ng.the.corresponding.error.messa
b740 67 65 2c 20 6f 66 20 46 41 4c 53 45 0a 20 20 20 20 20 2a 20 69 66 20 74 68 65 20 65 72 72 6f 72 ge,.of.FALSE......*.if.the.error
b760 20 63 6f 64 65 20 77 61 73 20 75 6e 6b 6e 6f 77 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 .code.was.unknown......*......*.
b780 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 @access.public......*/......func
b7a0 74 69 6f 6e 20 65 72 72 6f 72 4d 65 73 73 61 67 65 28 24 64 62 63 6f 64 65 29 0a 20 20 20 20 7b tion.errorMessage($dbcode).....{
b7c0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 3a 3a 65 72 72 6f 72 4d 65 73 73 61 67 65 .........return.DB::errorMessage
b7e0 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 5b 24 64 62 63 6f 64 65 5d 29 3b ($this->errorcode_map[$dbcode]);
b800 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 72 61 .....}......//.}}}.....//.{{{.ra
b820 69 73 65 45 72 72 6f 72 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 iseError()....../**......*.This.
b840 6d 65 74 68 6f 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6d 6d 75 6e 69 63 61 74 65 20 61 6e method.is.used.to.communicate.an
b860 20 65 72 72 6f 72 20 61 6e 64 20 69 6e 76 6f 6b 65 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 20 63 .error.and.invoke.error......*.c
b880 61 6c 6c 62 61 63 6b 73 20 65 74 63 2e 20 20 42 61 73 69 63 61 6c 6c 79 20 61 20 77 72 61 70 70 allbacks.etc...Basically.a.wrapp
b8a0 65 72 20 66 6f 72 20 50 45 41 52 3a 3a 72 61 69 73 65 45 72 72 6f 72 0a 20 20 20 20 20 2a 20 77 er.for.PEAR::raiseError......*.w
b8c0 69 74 68 6f 75 74 20 74 68 65 20 6d 65 73 73 61 67 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 ithout.the.message.string.......
b8e0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 20 20 69 6e 74 65 67 65 72 *......*.@param.mixed....integer
b900 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 6f 72 20 61 20 50 45 41 52 20 65 72 72 6f 72 20 6f 62 6a .error.code,.or.a.PEAR.error.obj
b920 65 63 74 20 28 61 6c 6c 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ect.(all......*.................
b940 6f 74 68 65 72 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 69 67 6e 6f 72 65 64 20 69 66 20 other.parameters.are.ignored.if.
b960 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 69 73 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 this.parameter.is......*........
b980 20 20 20 20 20 20 20 20 20 61 6e 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .........an.object......*......*
b9a0 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 65 72 72 6f 72 20 6d 6f 64 65 2c 20 73 65 65 .@param.int......error.mode,.see
b9c0 20 50 45 41 52 5f 45 72 72 6f 72 20 64 6f 63 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 .PEAR_Error.docs......*......*.@
b9e0 70 61 72 61 6d 20 6d 69 78 65 64 20 20 20 20 49 66 20 65 72 72 6f 72 20 6d 6f 64 65 20 69 73 20 param.mixed....If.error.mode.is.
ba00 50 45 41 52 5f 45 52 52 4f 52 5f 54 52 49 47 47 45 52 2c 20 74 68 69 73 20 69 73 20 74 68 65 0a PEAR_ERROR_TRIGGER,.this.is.the.
ba20 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6c 65 76 .....*.................error.lev
ba40 65 6c 20 28 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 20 65 74 63 29 2e 20 20 49 66 20 65 72 72 6f el.(E_USER_NOTICE.etc)...If.erro
ba60 72 20 6d 6f 64 65 20 69 73 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.mode.is......*................
ba80 20 50 45 41 52 5f 45 52 52 4f 52 5f 43 41 4c 4c 42 41 43 4b 2c 20 74 68 69 73 20 69 73 20 74 68 .PEAR_ERROR_CALLBACK,.this.is.th
baa0 65 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 2c 0a 20 20 20 20 20 2a 20 20 20 20 20 e.callback.function,......*.....
bac0 20 20 20 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e ............either.as.a.function
bae0 20 6e 61 6d 65 2c 20 6f 72 20 61 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 61 6e 0a 20 20 20 20 .name,.or.as.an.array.of.an.....
bb00 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 61 6e 64 20 6d 65 .*.................object.and.me
bb20 74 68 6f 64 20 6e 61 6d 65 2e 20 20 46 6f 72 20 6f 74 68 65 72 20 65 72 72 6f 72 20 6d 6f 64 65 thod.name...For.other.error.mode
bb40 73 20 74 68 69 73 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 s.this......*.................pa
bb60 72 61 6d 65 74 65 72 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 rameter.is.ignored.......*......
bb80 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 45 78 74 72 61 20 64 65 62 75 67 20 69 6e *.@param.string...Extra.debug.in
bba0 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 6c 61 73 74 formation...Defaults.to.the.last
bbc0 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 65 72 79 20 61 6e ......*.................query.an
bbe0 64 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 d.native.error.code.......*.....
bc00 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 20 20 4e 61 74 69 76 65 20 65 72 72 6f 72 20 .*.@param.mixed....Native.error.
bc20 63 6f 64 65 2c 20 69 6e 74 65 67 65 72 20 6f 72 20 73 74 72 69 6e 67 20 64 65 70 65 6e 64 69 6e code,.integer.or.string.dependin
bc40 67 20 74 68 65 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 63 g.the......*.................bac
bc60 6b 65 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6f 62 6a 65 kend.......*......*.@return.obje
bc80 63 74 20 20 61 20 50 45 41 52 20 65 72 72 6f 72 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 ct..a.PEAR.error.object......*..
bca0 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 73 65 65 ....*.@access.public......*.@see
bcc0 20 50 45 41 52 5f 45 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e .PEAR_Error......*/.....function
bce0 20 26 72 61 69 73 65 45 72 72 6f 72 28 24 63 6f 64 65 20 3d 20 44 42 5f 45 52 52 4f 52 2c 20 24 .&raiseError($code.=.DB_ERROR,.$
bd00 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 6e 75 6c 6c 2c 0a 20 20 mode.=.null,.$options.=.null,...
bd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 75 73 65 72 69 6e 66 6f .......................$userinfo
bd40 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 74 69 76 65 63 6f 64 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 .=.null,.$nativecode.=.null)....
bd60 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 65 72 72 6f 72 20 69 73 20 79 65 74 20 61 .{.........//.The.error.is.yet.a
bd80 20 44 42 20 65 72 72 6f 72 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f .DB.error.object.........if.(is_
bda0 6f 62 6a 65 63 74 28 24 63 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 object($code)).{.............//.
bdc0 62 65 63 61 75 73 65 20 77 65 20 74 68 65 20 73 74 61 74 69 63 20 50 45 41 52 3a 3a 72 61 69 73 because.we.the.static.PEAR::rais
bde0 65 45 72 72 6f 72 2c 20 6f 75 72 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f eError,.our.global............./
be00 2f 20 68 61 6e 64 6c 65 72 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 69 66 20 69 74 20 69 /.handler.should.be.used.if.it.i
be20 73 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 20 3d 3d 3d 20 s.set.............if.($mode.===.
be40 6e 75 6c 6c 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 5f 64 65 66 61 75 6c 74 5f 65 null.&&.!empty($this->_default_e
be60 72 72 6f 72 5f 6d 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d rror_mode)).{.................$m
be80 6f 64 65 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 5f 64 65 66 61 75 6c 74 5f 65 72 72 6f 72 5f 6d ode....=.$this->_default_error_m
bea0 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 20 3d 20 ode;.................$options.=.
bec0 24 74 68 69 73 2d 3e 5f 64 65 66 61 75 6c 74 5f 65 72 72 6f 72 5f 6f 70 74 69 6f 6e 73 3b 0a 20 $this->_default_error_options;..
bee0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ...........}.............return.
bf00 50 45 41 52 3a 3a 72 61 69 73 65 45 72 72 6f 72 28 24 63 6f 64 65 2c 20 6e 75 6c 6c 2c 20 24 6d PEAR::raiseError($code,.null,.$m
bf20 6f 64 65 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 ode,.$options,.null,.null,.true)
bf40 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 75 73 65 72 69 6e ;.........}..........if.($userin
bf60 66 6f 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 75 73 65 72 fo.===.null).{.............$user
bf80 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 3b 0a 20 20 20 20 20 20 info.=.$this->last_query;.......
bfa0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 61 74 69 76 65 63 6f 64 65 29 20 7b 0a ..}..........if.($nativecode).{.
bfc0 20 20 20 20 20 20 20 20 20 20 20 20 24 75 73 65 72 69 6e 66 6f 20 2e 3d 20 22 20 5b 6e 61 74 69 ............$userinfo..=.".[nati
bfe0 76 65 63 6f 64 65 3d 24 6e 61 74 69 76 65 63 6f 64 65 5d 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a vecode=$nativecode]";.........}.
c000 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 45 41 52 3a 3a 72 61 69 73 65 45 72 72 6f 72 .........return.PEAR::raiseError
c020 28 6e 75 6c 6c 2c 20 24 63 6f 64 65 2c 20 24 6d 6f 64 65 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 24 (null,.$code,.$mode,.$options,.$
c040 75 73 65 72 69 6e 66 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 userinfo,.......................
c060 20 20 20 20 20 20 20 20 20 20 20 20 27 44 42 5f 45 72 72 6f 72 27 2c 20 74 72 75 65 29 3b 0a 20 ............'DB_Error',.true);..
c080 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 65 74 46 ...}......//.}}}.....//.{{{.setF
c0a0 65 74 63 68 4d 6f 64 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 etchMode()....../**......*.Sets.
c0c0 77 68 69 63 68 20 66 65 74 63 68 20 6d 6f 64 65 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 which.fetch.mode.should.be.used.
c0e0 62 79 20 64 65 66 61 75 6c 74 20 6f 6e 20 71 75 65 72 69 65 73 0a 20 20 20 20 20 2a 20 6f 6e 20 by.default.on.queries......*.on.
c100 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 this.connection.......*......*.@
c120 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 66 65 74 63 68 6d 6f 64 65 20 44 42 5f 46 45 54 43 param.integer.$fetchmode.DB_FETC
c140 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 20 6f 72 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 44 HMODE_ORDERED.or......*........D
c160 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 2c 20 70 6f 73 73 69 62 6c 79 20 62 69 74 2d B_FETCHMODE_ASSOC,.possibly.bit-
c180 77 69 73 65 20 4f 52 27 65 64 20 77 69 74 68 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 44 42 wise.OR'ed.with......*........DB
c1a0 5f 46 45 54 43 48 4d 4f 44 45 5f 46 4c 49 50 50 45 44 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 _FETCHMODE_FLIPPED.......*......
c1c0 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 20 54 68 *.@param.string.$object_class.Th
c1e0 65 20 63 6c 61 73 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 20 20 20 20 e.class.of.the.object......*....
c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 ..................to.be.returned
c220 20 62 79 20 74 68 65 20 66 65 74 63 68 20 6d 65 74 68 6f 64 73 20 77 68 65 6e 0a 20 20 20 20 20 .by.the.fetch.methods.when......
c240 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 44 42 5f 46 45 *......................the.DB_FE
c260 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 20 6d 6f 64 65 20 69 73 20 73 65 6c 65 63 74 65 64 2e TCHMODE_OBJECT.mode.is.selected.
c280 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 ......*......................If.
c2a0 6e 6f 20 63 6c 61 73 73 20 69 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 64 65 66 61 75 6c 74 no.class.is.specified.by.default
c2c0 20 61 20 63 61 73 74 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .a.cast......*..................
c2e0 20 20 20 20 74 6f 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 61 73 73 6f 63 20 61 72 72 ....to.object.from.the.assoc.arr
c300 61 79 20 72 6f 77 20 77 69 6c 6c 20 62 65 20 64 6f 6e 65 2e 0a 20 20 20 20 20 2a 20 20 20 20 20 ay.row.will.be.done.......*.....
c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 74 .................There.is.also.t
c340 68 65 20 70 6f 73 69 62 69 6c 69 74 79 20 74 6f 20 75 73 65 20 61 6e 64 20 65 78 74 65 6e 64 20 he.posibility.to.use.and.extend.
c360 74 68 65 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 the......*......................
c380 27 44 42 5f 52 6f 77 27 20 63 6c 61 73 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 'DB_Row'.class.......*......*.@s
c3a0 65 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 0a 20 20 20 20 20 2a 20 40 ee.DB_FETCHMODE_ORDERED......*.@
c3c0 73 65 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 0a 20 20 20 20 20 2a 20 40 73 see.DB_FETCHMODE_ASSOC......*.@s
c3e0 65 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 46 4c 49 50 50 45 44 0a 20 20 20 20 20 2a 20 40 ee.DB_FETCHMODE_FLIPPED......*.@
c400 73 65 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 0a 20 20 20 20 20 2a 20 40 see.DB_FETCHMODE_OBJECT......*.@
c420 73 65 65 20 44 42 5f 52 6f 77 3a 3a 44 42 5f 52 6f 77 28 29 0a 20 20 20 20 20 2a 20 40 61 63 63 see.DB_Row::DB_Row()......*.@acc
c440 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e ess.public......*/......function
c460 20 73 65 74 46 65 74 63 68 4d 6f 64 65 28 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 6f 62 6a 65 63 .setFetchMode($fetchmode,.$objec
c480 74 5f 63 6c 61 73 73 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 t_class.=.null).....{.........sw
c4a0 69 74 63 68 20 28 24 66 65 74 63 68 6d 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 itch.($fetchmode).{.............
c4c0 63 61 73 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 3a 0a 20 20 20 20 20 20 case.DB_FETCHMODE_OBJECT:.......
c4e0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 29 20 7b 0a 20 ..........if.($object_class).{..
c500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d ...................$this->fetchm
c520 6f 64 65 5f 6f 62 6a 65 63 74 5f 63 6c 61 73 73 20 3d 20 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 ode_object_class.=.$object_class
c540 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ;.................}.............
c560 63 61 73 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 3a 0a 20 20 20 20 20 case.DB_FETCHMODE_ORDERED:......
c580 20 20 20 20 20 20 20 63 61 73 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 3a 0a .......case.DB_FETCHMODE_ASSOC:.
c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 ................$this->fetchmode
c5c0 20 3d 20 24 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 .=.$fetchmode;.................b
c5e0 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 reak;.............default:......
c600 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 ...........return.$this->raiseEr
c620 72 6f 72 28 27 69 6e 76 61 6c 69 64 20 66 65 74 63 68 6d 6f 64 65 20 6d 6f 64 65 27 29 3b 0a 20 ror('invalid.fetchmode.mode');..
c640 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f .......}.....}......//.}}}...../
c660 2f 20 7b 7b 7b 20 73 65 74 4f 70 74 69 6f 6e 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 /.{{{.setOption()...../**.....*.
c680 73 65 74 20 74 68 65 20 6f 70 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 64 62 20 63 6c 61 73 73 0a set.the.option.for.the.db.class.
c6a0 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6f 70 74 69 6f ....*.....*.@param.string.$optio
c6c0 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 n.option.name.....*.@param.mixed
c6e0 20 20 24 76 61 6c 75 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 0a 20 20 ..$value.value.for.the.option...
c700 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 4f 4b 20 6f 72 ..*.....*.@return.mixed.DB_OK.or
c720 20 44 42 5f 45 72 72 6f 72 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 .DB_Error.....*/.....function.se
c740 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2c 20 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 tOption($option,.$value).....{..
c760 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b .......if.(isset($this->options[
c780 24 6f 70 74 69 6f 6e 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e $option])).{.............$this->
c7a0 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 options[$option].=.$value;......
c7c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 .......return.DB_OK;.........}..
c7e0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 .......return.$this->raiseError(
c800 22 75 6e 6b 6e 6f 77 6e 20 6f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 22 29 3b 0a 20 20 20 20 7d "unknown.option.$option");.....}
c820 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 4f 70 74 69 6f ......//.}}}.....//.{{{.getOptio
c840 6e 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 n()...../**.....*.returns.the.va
c860 6c 75 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 lue.of.an.option.....*.....*.@pa
c880 72 61 6d 20 73 74 72 69 6e 67 20 24 6f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 ram.string.$option.option.name..
c8a0 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 74 68 65 20 6f 70 74 ...*.....*.@return.mixed.the.opt
c8c0 69 6f 6e 20 76 61 6c 75 65 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 ion.value.....*/.....function.ge
c8e0 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 tOption($option).....{.........i
c900 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d f.(isset($this->options[$option]
c920 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f )).{.............return.$this->o
c940 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ptions[$option];.........}......
c960 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 75 6e 6b ...return.$this->raiseError("unk
c980 6e 6f 77 6e 20 6f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 nown.option.$option");.....}....
c9a0 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 65 70 61 72 65 28 29 0a 0a 20 ..//.}}}.....//.{{{.prepare()...
c9c0 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 50 72 65 70 61 72 65 73 20 61 20 71 75 65 72 79 20 66 6f .../**.....*.Prepares.a.query.fo
c9e0 72 20 6d 75 6c 74 69 70 6c 65 20 65 78 65 63 75 74 69 6f 6e 20 77 69 74 68 20 65 78 65 63 75 74 r.multiple.execution.with.execut
ca00 65 28 29 2e 0a 20 20 20 20 2a 20 57 69 74 68 20 73 6f 6d 65 20 64 61 74 61 62 61 73 65 20 62 61 e()......*.With.some.database.ba
ca20 63 6b 65 6e 64 73 2c 20 74 68 69 73 20 69 73 20 65 6d 75 6c 61 74 65 64 2e 0a 20 20 20 20 2a 20 ckends,.this.is.emulated......*.
ca40 70 72 65 70 61 72 65 28 29 20 72 65 71 75 69 72 65 73 20 61 20 67 65 6e 65 72 69 63 20 71 75 65 prepare().requires.a.generic.que
ca60 72 79 20 61 73 20 73 74 72 69 6e 67 20 6c 69 6b 65 0a 20 20 20 20 2a 20 22 49 4e 53 45 52 54 20 ry.as.string.like.....*."INSERT.
ca80 49 4e 54 4f 20 6e 75 6d 62 65 72 73 20 56 41 4c 55 45 53 28 3f 2c 3f 2c 3f 29 22 2e 20 54 68 65 INTO.numbers.VALUES(?,?,?)"..The
caa0 20 3f 20 61 72 65 20 77 69 6c 64 63 61 72 64 73 2e 0a 20 20 20 20 2a 20 54 79 70 65 73 20 6f 66 .?.are.wildcards......*.Types.of
cac0 20 77 69 6c 64 63 61 72 64 73 3a 0a 20 20 20 20 2a 20 20 20 3f 20 2d 20 61 20 71 75 6f 74 65 64 .wildcards:.....*...?.-.a.quoted
cae0 20 73 63 61 6c 61 72 20 76 61 6c 75 65 2c 20 69 2e 65 2e 20 73 74 72 69 6e 67 73 2c 20 69 6e 74 .scalar.value,.i.e..strings,.int
cb00 65 67 65 72 73 0a 20 20 20 20 2a 20 20 20 26 20 2d 20 72 65 71 75 69 72 65 73 20 61 20 66 69 6c egers.....*...&.-.requires.a.fil
cb20 65 20 6e 61 6d 65 2c 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 66 69 6c 65 0a e.name,.the.content.of.the.file.
cb40 20 20 20 20 2a 20 20 20 20 20 20 20 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 68 65 20 71 75 65 72 ....*.......insert.into.the.quer
cb60 79 20 28 69 2e 65 2e 20 73 61 76 69 6e 67 20 62 69 6e 61 72 79 20 64 61 74 61 0a 20 20 20 20 2a y.(i.e..saving.binary.data.....*
cb80 20 20 20 20 20 20 20 69 6e 20 61 20 64 62 29 0a 20 20 20 20 2a 20 20 20 21 20 2d 20 76 61 6c 75 .......in.a.db).....*...!.-.valu
cba0 65 20 69 73 20 69 6e 73 65 72 74 65 64 20 27 61 73 20 69 73 27 0a 20 20 20 20 2a 0a 20 20 20 20 e.is.inserted.'as.is'.....*.....
cbc0 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 74 68 65 20 71 75 65 72 79 20 74 6f 20 70 72 65 *.@param.string.the.query.to.pre
cbe0 70 61 72 65 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 72 65 73 6f 75 72 63 pare.....*.....*.@return.resourc
cc00 65 20 68 61 6e 64 6c 65 20 66 6f 72 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 2a 0a 20 20 20 e.handle.for.the.query.....*....
cc20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 20 40 73 65 65 20 65 78 65 .*.@access.public.....*.@see.exe
cc40 63 75 74 65 0a 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 72 cute.....*/......function.prepar
cc60 65 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 6f 6b 65 6e 73 20 e($query).....{.........$tokens.
cc80 3d 20 73 70 6c 69 74 28 22 5b 5c 26 5c 3f 5c 21 5d 22 2c 20 24 71 75 65 72 79 29 3b 0a 20 20 20 =.split("[\&\?\!]",.$query);....
cca0 20 20 20 20 20 24 74 6f 6b 65 6e 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 73 20 .....$token.=.0;.........$types.
ccc0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b =.array();..........for.($i.=.0;
cce0 20 24 69 20 3c 20 73 74 72 6c 65 6e 28 24 71 75 65 72 79 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 .$i.<.strlen($query);.$i++).{...
cd00 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 71 75 65 72 79 5b 24 69 5d 29 20 7b 0a ..........switch.($query[$i]).{.
cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 3f 27 3a 0a 20 20 20 20 20 20 ................case.'?':.......
cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 70 65 73 5b 24 74 6f 6b 65 6e 2b 2b 5d 20 3d ..............$types[$token++].=
cd60 20 44 42 5f 50 41 52 41 4d 5f 53 43 41 4c 41 52 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .DB_PARAM_SCALAR;...............
cd80 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ......break;.................cas
cda0 65 20 27 26 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 70 65 e.'&':.....................$type
cdc0 73 5b 24 74 6f 6b 65 6e 2b 2b 5d 20 3d 20 44 42 5f 50 41 52 41 4d 5f 4f 50 41 51 55 45 3b 0a 20 s[$token++].=.DB_PARAM_OPAQUE;..
cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 ...................break;.......
ce00 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 21 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........case.'!':.............
ce20 20 20 20 20 20 20 20 20 24 74 79 70 65 73 5b 24 74 6f 6b 65 6e 2b 2b 5d 20 3d 20 44 42 5f 50 41 ........$types[$token++].=.DB_PA
ce40 52 41 4d 5f 4d 49 53 43 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 RAM_MISC;.....................br
ce60 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 eak;.............}.........}....
ce80 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 5d 20 3d 20 ......$this->prepare_tokens[].=.
cea0 26 24 74 6f 6b 65 6e 73 3b 0a 20 20 20 20 20 20 20 20 65 6e 64 28 24 74 68 69 73 2d 3e 70 72 65 &$tokens;.........end($this->pre
cec0 70 61 72 65 5f 74 6f 6b 65 6e 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 6b 20 3d 20 6b 65 79 28 pare_tokens);..........$k.=.key(
cee0 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 $this->prepare_tokens);.........
cf00 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 6b 5d 20 3d 20 24 74 79 70 65 $this->prepare_types[$k].=.$type
cf20 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 64 5f 71 75 65 72 69 s;.........$this->prepared_queri
cf40 65 73 5b 24 6b 5d 20 3d 20 26 24 71 75 65 72 79 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 es[$k].=.&$query;..........retur
cf60 6e 20 24 6b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b n.$k;.....}......//.}}}.....//.{
cf80 7b 7b 20 61 75 74 6f 50 72 65 70 61 72 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 {{.autoPrepare()....../**.....*.
cfa0 4d 61 6b 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 79 20 61 6e 20 69 6e 73 65 72 74 20 6f 72 20 75 Make.automaticaly.an.insert.or.u
cfc0 70 64 61 74 65 20 71 75 65 72 79 20 61 6e 64 20 63 61 6c 6c 20 70 72 65 70 61 72 65 28 29 20 77 pdate.query.and.call.prepare().w
cfe0 69 74 68 20 69 74 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 ith.it.....*.....*.@param.string
d000 20 24 74 61 62 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 61 62 6c 65 0a 20 20 20 20 2a 20 .$table.name.of.the.table.....*.
d020 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 74 61 62 6c 65 5f 66 69 65 6c 64 73 20 6f 72 64 65 72 @param.array.$table_fields.order
d040 65 64 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 69 65 6c 64 73 20 6e ed.array.containing.the.fields.n
d060 61 6d 65 73 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 6d 6f 64 65 20 74 79 70 65 ames.....*.@param.int.$mode.type
d080 20 6f 66 20 71 75 65 72 79 20 74 6f 20 6d 61 6b 65 20 28 44 42 5f 41 55 54 4f 51 55 45 52 59 5f .of.query.to.make.(DB_AUTOQUERY_
d0a0 49 4e 53 45 52 54 20 6f 72 20 44 42 5f 41 55 54 4f 51 55 45 52 59 5f 55 50 44 41 54 45 29 0a 20 INSERT.or.DB_AUTOQUERY_UPDATE)..
d0c0 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 77 68 65 72 65 20 69 6e 20 63 61 73 ...*.@param.string.$where.in.cas
d0e0 65 20 6f 66 20 75 70 64 61 74 65 20 71 75 65 72 69 65 73 2c 20 74 68 69 73 20 73 74 72 69 6e 67 e.of.update.queries,.this.string
d100 20 77 69 6c 6c 20 62 65 20 70 75 74 20 61 66 74 65 72 20 74 68 65 20 73 71 6c 20 57 48 45 52 45 .will.be.put.after.the.sql.WHERE
d120 20 73 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 72 65 73 6f 75 72 63 .statement.....*.@return.resourc
d140 65 20 68 61 6e 64 6c 65 20 66 6f 72 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 2a 20 40 73 65 e.handle.for.the.query.....*.@se
d160 65 20 62 75 69 6c 64 4d 61 6e 69 70 53 51 4c 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 e.buildManipSQL.....*.@access.pu
d180 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 50 72 65 blic.....*/.....function.autoPre
d1a0 70 61 72 65 28 24 74 61 62 6c 65 2c 20 24 74 61 62 6c 65 5f 66 69 65 6c 64 73 2c 20 24 6d 6f 64 pare($table,.$table_fields,.$mod
d1c0 65 20 3d 20 44 42 5f 41 55 54 4f 51 55 45 52 59 5f 49 4e 53 45 52 54 2c 20 24 77 68 65 72 65 20 e.=.DB_AUTOQUERY_INSERT,.$where.
d1e0 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 =.false).....{.........$query.=.
d200 24 74 68 69 73 2d 3e 62 75 69 6c 64 4d 61 6e 69 70 53 51 4c 28 24 74 61 62 6c 65 2c 20 24 74 61 $this->buildManipSQL($table,.$ta
d220 62 6c 65 5f 66 69 65 6c 64 73 2c 20 24 6d 6f 64 65 2c 20 24 77 68 65 72 65 29 3b 0a 20 20 20 20 ble_fields,.$mode,.$where);.....
d240 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 28 24 71 75 65 72 79 ....return.$this->prepare($query
d260 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 0a 20 20 20 20 2f 2f 20 7d 7d 7d 20 );.....}......//.{{{.....//.}}}.
d280 61 75 74 6f 45 78 65 63 75 74 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 4d 61 6b autoExecute()....../**.....*.Mak
d2a0 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 79 20 61 6e 20 69 6e 73 65 72 74 20 6f 72 20 75 70 64 61 e.automaticaly.an.insert.or.upda
d2c0 74 65 20 71 75 65 72 79 20 61 6e 64 20 63 61 6c 6c 20 70 72 65 70 61 72 65 28 29 20 61 6e 64 20 te.query.and.call.prepare().and.
d2e0 65 78 65 63 75 74 65 28 29 20 77 69 74 68 20 69 74 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 execute().with.it.....*.....*.@p
d300 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 61 62 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 aram.string.$table.name.of.the.t
d320 61 62 6c 65 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 66 69 65 6c 64 73 5f able.....*.@param.array.$fields_
d340 76 61 6c 75 65 73 20 61 73 73 6f 63 20 28 24 6b 65 79 3d 3e 24 76 61 6c 75 65 29 20 77 68 65 72 values.assoc.($key=>$value).wher
d360 65 20 24 6b 65 79 20 69 73 20 61 20 66 69 65 6c 64 20 6e 61 6d 65 20 61 6e 64 20 24 76 61 6c 75 e.$key.is.a.field.name.and.$valu
d380 65 20 69 74 73 20 76 61 6c 75 65 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 6d 6f e.its.value.....*.@param.int.$mo
d3a0 64 65 20 74 79 70 65 20 6f 66 20 71 75 65 72 79 20 74 6f 20 6d 61 6b 65 20 28 44 42 5f 41 55 54 de.type.of.query.to.make.(DB_AUT
d3c0 4f 51 55 45 52 59 5f 49 4e 53 45 52 54 20 6f 72 20 44 42 5f 41 55 54 4f 51 55 45 52 59 5f 55 50 OQUERY_INSERT.or.DB_AUTOQUERY_UP
d3e0 44 41 54 45 29 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 77 68 65 72 65 DATE).....*.@param.string.$where
d400 20 69 6e 20 63 61 73 65 20 6f 66 20 75 70 64 61 74 65 20 71 75 65 72 69 65 73 2c 20 74 68 69 73 .in.case.of.update.queries,.this
d420 20 73 74 72 69 6e 67 20 77 69 6c 6c 20 62 65 20 70 75 74 20 61 66 74 65 72 20 74 68 65 20 73 71 .string.will.be.put.after.the.sq
d440 6c 20 57 48 45 52 45 20 73 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 l.WHERE.statement.....*.@return.
d460 6d 69 78 65 64 20 20 61 20 6e 65 77 20 44 42 5f 52 65 73 75 6c 74 20 6f 72 20 61 20 44 42 5f 45 mixed..a.new.DB_Result.or.a.DB_E
d480 72 72 6f 72 20 77 68 65 6e 20 66 61 69 6c 0a 20 20 20 20 2a 20 40 73 65 65 20 62 75 69 6c 64 4d rror.when.fail.....*.@see.buildM
d4a0 61 6e 69 70 53 51 4c 0a 20 20 20 20 2a 20 40 73 65 65 20 61 75 74 6f 50 72 65 70 61 72 65 0a 20 anipSQL.....*.@see.autoPrepare..
d4c0 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 ...*.@access.public.....*/.....f
d4e0 75 6e 63 74 69 6f 6e 20 61 75 74 6f 45 78 65 63 75 74 65 28 24 74 61 62 6c 65 2c 20 24 66 69 65 unction.autoExecute($table,.$fie
d500 6c 64 73 5f 76 61 6c 75 65 73 2c 20 24 6d 6f 64 65 20 3d 20 44 42 5f 41 55 54 4f 51 55 45 52 59 lds_values,.$mode.=.DB_AUTOQUERY
d520 5f 49 4e 53 45 52 54 2c 20 24 77 68 65 72 65 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 _INSERT,.$where.=.false).....{..
d540 20 20 20 20 20 20 20 24 73 74 68 20 3d 20 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 61 72 65 .......$sth.=.$this->autoPrepare
d560 28 24 74 61 62 6c 65 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 66 69 65 6c 64 73 5f 76 61 6c 75 ($table,.array_keys($fields_valu
d580 65 73 29 2c 20 24 6d 6f 64 65 2c 20 24 77 68 65 72 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 es),.$mode,.$where);.........ret
d5a0 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 73 74 68 2c 20 61 72 72 61 79 5f 76 urn.$this->execute($sth,.array_v
d5c0 61 6c 75 65 73 28 24 66 69 65 6c 64 73 5f 76 61 6c 75 65 73 29 29 3b 0a 0a 20 20 20 20 7d 0a 0a alues($fields_values));......}..
d5e0 20 20 20 20 2f 2f 20 7b 7b 7b 0a 20 20 20 20 2f 2f 20 7d 7d 7d 20 62 75 69 6c 64 4d 61 6e 69 70 ....//.{{{.....//.}}}.buildManip
d600 53 51 4c 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 4d 61 6b 65 20 61 75 74 6f 6d 61 SQL()....../**.....*.Make.automa
d620 74 69 63 61 6c 79 20 61 6e 20 73 71 6c 20 71 75 65 72 79 20 66 6f 72 20 70 72 65 70 61 72 65 28 ticaly.an.sql.query.for.prepare(
d640 29 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 20 3a 20 62 75 69 6c 64 4d 61 6e ).....*.....*.Example.:.buildMan
d660 69 70 53 51 4c 28 27 74 61 62 6c 65 5f 73 71 6c 27 2c 20 61 72 72 61 79 28 27 66 69 65 6c 64 31 ipSQL('table_sql',.array('field1
d680 27 2c 20 27 66 69 65 6c 64 32 27 2c 20 27 66 69 65 6c 64 33 27 29 2c 20 44 42 5f 41 55 54 4f 51 ',.'field2',.'field3'),.DB_AUTOQ
d6a0 55 45 52 59 5f 49 4e 53 45 52 54 29 0a 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 77 69 6c UERY_INSERT).....*...........wil
d6c0 6c 20 72 65 74 75 72 6e 20 74 68 65 20 73 74 72 69 6e 67 20 3a 20 49 4e 53 45 52 54 20 49 4e 54 l.return.the.string.:.INSERT.INT
d6e0 4f 20 74 61 62 6c 65 5f 73 71 6c 20 28 66 69 65 6c 64 31 2c 66 69 65 6c 64 32 2c 66 69 65 6c 64 O.table_sql.(field1,field2,field
d700 33 29 20 56 41 4c 55 45 53 20 28 3f 2c 3f 2c 3f 29 0a 20 20 20 20 2a 20 4e 42 20 3a 20 2d 20 54 3).VALUES.(?,?,?).....*.NB.:.-.T
d720 68 69 73 20 62 65 6c 6f 6e 67 73 20 6d 6f 72 65 20 74 6f 20 61 20 53 51 4c 20 42 75 69 6c 64 65 his.belongs.more.to.a.SQL.Builde
d740 72 20 63 6c 61 73 73 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 61 20 73 69 6d 70 6c 65 20 66 61 r.class,.but.this.is.a.simple.fa
d760 63 69 6c 69 74 79 0a 20 20 20 20 2a 20 20 20 20 20 20 2d 20 42 65 20 63 61 72 65 66 75 6c 6c 20 cility.....*......-.Be.carefull.
d780 21 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 67 69 76 65 20 61 20 24 77 68 65 72 65 20 70 61 72 !.If.you.don't.give.a.$where.par
d7a0 61 6d 20 77 69 74 68 20 61 6e 20 55 50 44 41 54 45 20 71 75 65 72 79 2c 20 61 6c 6c 0a 20 20 20 am.with.an.UPDATE.query,.all....
d7c0 20 2a 20 20 20 20 20 20 20 20 74 68 65 20 72 65 63 6f 72 64 73 20 6f 66 20 74 68 65 20 74 61 62 .*........the.records.of.the.tab
d7e0 6c 65 20 77 69 6c 6c 20 62 65 20 75 70 64 61 74 65 64 20 21 0a 20 20 20 20 2a 0a 20 20 20 20 2a le.will.be.updated.!.....*.....*
d800 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 61 62 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 .@param.string.$table.name.of.th
d820 65 20 74 61 62 6c 65 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 74 61 62 6c e.table.....*.@param.array.$tabl
d840 65 5f 66 69 65 6c 64 73 20 6f 72 64 65 72 65 64 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e e_fields.ordered.array.containin
d860 67 20 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 g.the.fields.names.....*.@param.
d880 69 6e 74 20 24 6d 6f 64 65 20 74 79 70 65 20 6f 66 20 71 75 65 72 79 20 74 6f 20 6d 61 6b 65 20 int.$mode.type.of.query.to.make.
d8a0 28 44 42 5f 41 55 54 4f 51 55 45 52 59 5f 49 4e 53 45 52 54 20 6f 72 20 44 42 5f 41 55 54 4f 51 (DB_AUTOQUERY_INSERT.or.DB_AUTOQ
d8c0 55 45 52 59 5f 55 50 44 41 54 45 29 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 UERY_UPDATE).....*.@param.string
d8e0 20 24 77 68 65 72 65 20 69 6e 20 63 61 73 65 20 6f 66 20 75 70 64 61 74 65 20 71 75 65 72 69 65 .$where.in.case.of.update.querie
d900 73 2c 20 74 68 69 73 20 73 74 72 69 6e 67 20 77 69 6c 6c 20 62 65 20 70 75 74 20 61 66 74 65 72 s,.this.string.will.be.put.after
d920 20 74 68 65 20 73 71 6c 20 57 48 45 52 45 20 73 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 2a 20 40 .the.sql.WHERE.statement.....*.@
d940 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 73 71 6c 20 71 75 65 72 79 20 66 6f 72 20 70 72 65 70 return.string.sql.query.for.prep
d960 61 72 65 28 29 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a are().....*.@access.public.....*
d980 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 4d 61 6e 69 70 53 51 4c 28 24 74 61 /.....function.buildManipSQL($ta
d9a0 62 6c 65 2c 20 24 74 61 62 6c 65 5f 66 69 65 6c 64 73 2c 20 24 6d 6f 64 65 2c 20 24 77 68 65 72 ble,.$table_fields,.$mode,.$wher
d9c0 65 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 e.=.false).....{.........if.(cou
d9e0 6e 74 28 24 74 61 62 6c 65 5f 66 69 65 6c 64 73 29 3d 3d 30 29 20 7b 0a 20 20 20 20 20 20 20 20 nt($table_fields)==0).{.........
da00 20 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e ....$this->raiseError(DB_ERROR_N
da20 45 45 44 5f 4d 4f 52 45 5f 44 41 54 41 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 EED_MORE_DATA);.........}.......
da40 20 20 24 66 69 72 73 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 ..$first.=.true;.........switch(
da60 24 6d 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 44 42 5f 41 55 54 4f 51 55 45 $mode).{.........case.DB_AUTOQUE
da80 52 59 5f 49 4e 53 45 52 54 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 73 20 3d RY_INSERT:.............$values.=
daa0 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 20 3d 20 27 27 3b 0a 20 20 .'';.............$names.=.'';...
dac0 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6c 69 73 74 28 2c 20 24 76 61 6c 75 65 29 20 ..........while.(list(,.$value).
dae0 3d 20 65 61 63 68 28 24 74 61 62 6c 65 5f 66 69 65 6c 64 73 29 29 20 7b 0a 20 20 20 20 20 20 20 =.each($table_fields)).{........
db00 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 72 73 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .........if.($first).{..........
db20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 ...........$first.=.false;......
db40 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........}.else.{.............
db60 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 20 2e 3d 20 27 2c 27 3b 0a 20 20 20 20 20 20 20 20 20 ........$names..=.',';..........
db80 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 73 20 2e 3d 20 27 2c 27 3b 0a 20 20 20 20 20 ...........$values..=.',';......
dba0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 ...........}.................$na
dbc0 6d 65 73 20 2e 3d 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 mes..=.$value;.................$
dbe0 76 61 6c 75 65 73 20 2e 3d 20 27 3f 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 values..=.'?';.............}....
dc00 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 24 74 61 .........return."INSERT.INTO.$ta
dc20 62 6c 65 20 28 24 6e 61 6d 65 73 29 20 56 41 4c 55 45 53 20 28 24 76 61 6c 75 65 73 29 22 3b 0a ble.($names).VALUES.($values)";.
dc40 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 ............break;.........case.
dc60 44 42 5f 41 55 54 4f 51 55 45 52 59 5f 55 50 44 41 54 45 3a 0a 20 20 20 20 20 20 20 20 20 20 20 DB_AUTOQUERY_UPDATE:............
dc80 20 24 73 65 74 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6c .$set.=.'';.............while.(l
dca0 69 73 74 28 2c 20 24 76 61 6c 75 65 29 20 3d 20 65 61 63 68 28 24 74 61 62 6c 65 5f 66 69 65 6c ist(,.$value).=.each($table_fiel
dcc0 64 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 72 73 ds)).{.................if.($firs
dce0 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 t).{.....................$first.
dd00 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 =.false;.................}.else.
dd20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 74 20 2e 3d 20 27 2c {.....................$set..=.',
dd40 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ';.................}............
dd60 20 20 20 20 20 24 73 65 74 20 2e 3d 20 22 24 76 61 6c 75 65 20 3d 20 3f 22 3b 0a 20 20 20 20 20 .....$set..=."$value.=.?";......
dd80 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 55 50 44 .......}.............$sql.=."UPD
dda0 41 54 45 20 24 74 61 62 6c 65 20 53 45 54 20 24 73 65 74 22 3b 0a 20 20 20 20 20 20 20 20 20 20 ATE.$table.SET.$set";...........
ddc0 20 20 69 66 20 28 24 77 68 65 72 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..if.($where).{.................
dde0 24 73 71 6c 20 2e 3d 20 22 20 57 48 45 52 45 20 24 73 71 6c 22 3b 0a 20 20 20 20 20 20 20 20 20 $sql..=.".WHERE.$sql";..........
de00 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 71 6c 3b 0a 20 20 ...}.............return.$sql;...
de20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 ..........break;.........default
de40 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 :.............$this->raiseError(
de60 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 DB_ERROR_SYNTAX);.........}.....
de80 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 65 78 65 63 75 74 65 }......//.}}}.....//.{{{.execute
dea0 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 45 78 65 63 75 74 65 73 20 61 20 70 72 65 70 ()...../**.....*.Executes.a.prep
dec0 61 72 65 64 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 20 2a 20 57 69 74 68 20 65 78 65 63 75 74 ared.SQL.query.....*.With.execut
dee0 65 28 29 20 74 68 65 20 67 65 6e 65 72 69 63 20 71 75 65 72 79 20 6f 66 20 70 72 65 70 61 72 65 e().the.generic.query.of.prepare
df00 20 69 73 0a 20 20 20 20 2a 20 61 73 73 69 67 6e 65 64 20 77 69 74 68 20 74 68 65 20 67 69 76 65 .is.....*.assigned.with.the.give
df20 6e 20 64 61 74 61 20 61 72 72 61 79 2e 20 54 68 65 20 76 61 6c 75 65 73 0a 20 20 20 20 2a 20 6f n.data.array..The.values.....*.o
df40 66 20 74 68 65 20 61 72 72 61 79 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 74 68 65 20 71 75 f.the.array.inserted.into.the.qu
df60 65 72 79 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 2a 20 6f 72 64 65 72 20 6c 69 6b 65 ery.in.the.same.....*.order.like
df80 20 74 68 65 20 61 72 72 61 79 20 6f 72 64 65 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 .the.array.order.....*.....*.@pa
dfa0 72 61 6d 20 72 65 73 6f 75 72 63 65 20 24 73 74 6d 74 20 71 75 65 72 79 20 68 61 6e 64 6c 65 20 ram.resource.$stmt.query.handle.
dfc0 66 72 6f 6d 20 70 72 65 70 61 72 65 28 29 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 from.prepare().....*.@param.arra
dfe0 79 20 20 20 20 24 64 61 74 61 20 6e 75 6d 65 72 69 63 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e y....$data.numeric.array.contain
e000 69 6e 67 20 74 68 65 0a 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.the.....*...................
e020 20 20 20 20 64 61 74 61 20 74 6f 20 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 68 65 20 71 75 65 72 ....data.to.insert.into.the.quer
e040 79 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 20 61 20 6e y.....*.....*.@return.mixed..a.n
e060 65 77 20 44 42 5f 52 65 73 75 6c 74 20 6f 72 20 61 20 44 42 5f 45 72 72 6f 72 20 77 68 65 6e 20 ew.DB_Result.or.a.DB_Error.when.
e080 66 61 69 6c 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a fail.....*.....*.@access.public.
e0a0 20 20 20 20 2a 20 40 73 65 65 20 70 72 65 70 61 72 65 28 29 0a 20 20 20 20 2a 2f 0a 20 20 20 20 ....*.@see.prepare().....*/.....
e0c0 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 24 73 74 6d 74 2c 20 24 64 61 74 61 20 3d 20 function.execute($stmt,.$data.=.
e0e0 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 61 6c 71 75 65 72 79 20 false).....{.........$realquery.
e100 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 45 6d 75 6c 61 74 65 51 75 65 72 79 28 24 73 74 =.$this->executeEmulateQuery($st
e120 6d 74 2c 20 24 64 61 74 61 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 mt,.$data);.........if.(DB::isEr
e140 72 6f 72 28 24 72 65 61 6c 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 ror($realquery)).{.............r
e160 65 74 75 72 6e 20 24 72 65 61 6c 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 eturn.$realquery;.........}.....
e180 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 73 69 6d 70 6c 65 51 75 65 72 79 ....$result.=.$this->simpleQuery
e1a0 28 24 72 65 61 6c 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 ($realquery);.........if.(DB::is
e1c0 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 7c 7c 20 24 72 65 73 75 6c 74 20 3d 3d 3d 20 44 42 Error($result).||.$result.===.DB
e1e0 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c _OK).{.............return.$resul
e200 74 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 t;.........}.else.{.............
e220 72 65 74 75 72 6e 20 6e 65 77 20 44 42 5f 72 65 73 75 6c 74 28 24 74 68 69 73 2c 20 24 72 65 73 return.new.DB_result($this,.$res
e240 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d ult);.........}.....}......//.}}
e260 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 65 78 65 63 75 74 65 45 6d 75 6c 61 74 65 51 75 65 72 79 }.....//.{{{.executeEmulateQuery
e280 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 45 6d 75 6c 61 74 65 73 20 74 68 65 20 65 ()....../**.....*.Emulates.the.e
e2a0 78 65 63 75 74 65 20 73 74 61 74 65 6d 65 6e 74 2c 20 77 68 65 6e 20 6e 6f 74 20 73 75 70 70 6f xecute.statement,.when.not.suppo
e2c0 72 74 65 64 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 73 6f 75 72 63 65 rted.....*.....*.@param.resource
e2e0 20 24 73 74 6d 74 20 71 75 65 72 79 20 68 61 6e 64 6c 65 20 66 72 6f 6d 20 70 72 65 70 61 72 65 .$stmt.query.handle.from.prepare
e300 28 29 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 24 64 61 74 61 20 6e ().....*.@param.array....$data.n
e320 75 6d 65 72 69 63 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 20 20 20 20 umeric.array.containing.the.....
e340 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 74 6f 20 *.......................data.to.
e360 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 2a 0a 20 20 20 20 insert.into.the.query.....*.....
e380 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e *.@return.mixed.a.string.contain
e3a0 69 6e 67 20 74 68 65 20 72 65 61 6c 20 71 75 65 72 79 20 72 75 6e 20 77 68 65 6e 20 65 6d 75 6c ing.the.real.query.run.when.emul
e3c0 61 74 69 6e 67 0a 20 20 20 20 2a 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 2e 20 20 41 20 ating.....*.prepare/execute...A.
e3e0 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 66 61 69 DB.error.code.is.returned.on.fai
e400 6c 75 72 65 2e 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 72 69 76 61 74 lure......*.....*.@access.privat
e420 65 0a 20 20 20 20 2a 20 40 73 65 65 20 65 78 65 63 75 74 65 28 29 0a 20 20 20 20 2a 2f 0a 0a 20 e.....*.@see.execute().....*/...
e440 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 45 6d 75 6c 61 74 65 51 75 65 72 79 28 ...function.executeEmulateQuery(
e460 24 73 74 6d 74 2c 20 24 64 61 74 61 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 $stmt,.$data.=.false).....{.....
e480 20 20 20 20 24 70 20 3d 20 26 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 3b ....$p.=.&$this->prepare_tokens;
e4a0 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 ..........if.(!isset($this->prep
e4c0 61 72 65 5f 74 6f 6b 65 6e 73 5b 24 73 74 6d 74 5d 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 are_tokens[$stmt]).||...........
e4e0 20 20 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e ..!is_array($this->prepare_token
e500 73 5b 24 73 74 6d 74 5d 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 21 73 69 7a 65 6f 66 s[$stmt]).||.............!sizeof
e520 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 24 73 74 6d 74 5d 29 29 0a ($this->prepare_tokens[$stmt])).
e540 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 ........{.............return.$th
e560 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 29 is->raiseError(DB_ERROR_INVALID)
e580 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 71 71 20 3d 20 26 24 74 68 69 ;.........}..........$qq.=.&$thi
e5a0 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 24 73 74 6d 74 5d 3b 0a 20 20 20 20 20 20 s->prepare_tokens[$stmt];.......
e5c0 20 20 24 71 70 20 3d 20 73 69 7a 65 6f 66 28 24 71 71 29 20 2d 20 31 3b 0a 0a 20 20 20 20 20 20 ..$qp.=.sizeof($qq).-.1;........
e5e0 20 20 69 66 20 28 28 21 24 64 61 74 61 20 26 26 20 24 71 70 20 3e 20 30 29 20 7c 7c 0a 20 20 20 ..if.((!$data.&&.$qp.>.0).||....
e600 20 20 20 20 20 20 20 20 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 29 20 26 26 20 24 71 .........(!is_array($data).&&.$q
e620 70 20 3e 20 31 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 73 5f 61 72 72 61 79 28 p.>.1).||.............(is_array(
e640 24 64 61 74 61 29 20 26 26 20 24 71 70 20 3e 20 73 69 7a 65 6f 66 28 24 64 61 74 61 29 29 29 0a $data).&&.$qp.>.sizeof($data))).
e660 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 ........{.............$this->las
e680 74 5f 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 64 5f 71 75 65 72 69 65 t_query.=.$this->prepared_querie
e6a0 73 5b 24 73 74 6d 74 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 s[$stmt];.............return.$th
e6c0 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 45 45 44 5f 4d 4f 52 is->raiseError(DB_ERROR_NEED_MOR
e6e0 45 5f 44 41 54 41 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 65 61 E_DATA);.........}..........$rea
e700 6c 71 75 65 72 79 20 3d 20 24 71 71 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 lquery.=.$qq[0];.........for.($i
e720 20 3d 20 30 3b 20 24 69 20 3c 20 24 71 70 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 .=.0;.$i.<.$qp;.$i++).{.........
e740 20 20 20 20 24 74 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 ....$type.=.$this->prepare_types
e760 5b 24 73 74 6d 74 5d 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 79 [$stmt][$i];.............if.($ty
e780 70 65 20 3d 3d 20 44 42 5f 50 41 52 41 4d 5f 4f 50 41 51 55 45 29 20 7b 0a 20 20 20 20 20 20 20 pe.==.DB_PARAM_OPAQUE).{........
e7a0 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 29 29 20 7b 0a .........if.(is_array($data)).{.
e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 70 20 3d 20 66 6f 70 65 6e 28 ....................$fp.=.fopen(
e7e0 24 64 61 74 61 5b 24 69 5d 2c 20 27 72 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $data[$i],.'r');................
e800 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 .}.else.{.....................$f
e820 70 20 3d 20 66 6f 70 65 6e 28 24 64 61 74 61 2c 20 27 72 27 29 3b 0a 20 20 20 20 20 20 20 20 20 p.=.fopen($data,.'r');..........
e840 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 64 61 74 61 .......}..................$pdata
e860 20 3d 20 27 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 70 29 .=.'';..................if.($fp)
e880 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 28 24 .{.....................while.(($
e8a0 62 75 66 20 3d 20 66 72 65 61 64 28 24 66 70 2c 20 34 30 39 36 29 29 20 21 3d 20 66 61 6c 73 65 buf.=.fread($fp,.4096)).!=.false
e8c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 64 61 ).{.........................$pda
e8e0 74 61 20 2e 3d 20 24 62 75 66 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ta..=.$buf;.....................
e900 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 }.................}.............
e920 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f }.else.{.................if.(is_
e940 61 72 72 61 79 28 24 64 61 74 61 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 array($data)).{.................
e960 20 20 20 20 24 70 64 61 74 61 20 3d 20 26 24 64 61 74 61 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 ....$pdata.=.&$data[$i];........
e980 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........}.else.{...............
e9a0 20 20 20 20 20 20 24 70 64 61 74 61 20 3d 20 26 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 ......$pdata.=.&$data;..........
e9c0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 .......}.............}..........
e9e0 20 20 20 20 24 72 65 61 6c 71 75 65 72 79 20 2e 3d 20 28 24 74 79 70 65 20 21 3d 20 44 42 5f 50 ....$realquery..=.($type.!=.DB_P
ea00 41 52 41 4d 5f 4d 49 53 43 29 20 3f 20 24 74 68 69 73 2d 3e 71 75 6f 74 65 28 24 70 64 61 74 61 ARAM_MISC).?.$this->quote($pdata
ea20 29 20 3a 20 24 70 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 61 6c 71 75 65 ).:.$pdata;.............$realque
ea40 72 79 20 2e 3d 20 24 71 71 5b 24 69 20 2b 20 31 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ry..=.$qq[$i.+.1];.........}....
ea60 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 61 6c 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a ......return.$realquery;.....}..
ea80 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 65 78 65 63 75 74 65 4d 75 6c ....//.}}}.....//.{{{.executeMul
eaa0 74 69 70 6c 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 tiple()....../**.....*.This.func
eac0 74 69 6f 6e 20 64 6f 65 73 20 73 65 76 65 72 61 6c 20 65 78 65 63 75 74 65 28 29 20 63 61 6c 6c tion.does.several.execute().call
eae0 73 20 6f 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 2a 20 73 74 61 74 65 6d 65 6e 74 20 68 61 s.on.the.same.....*.statement.ha
eb00 6e 64 6c 65 2e 20 20 24 64 61 74 61 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 69 6e ndle...$data.must.be.an.array.in
eb20 64 65 78 65 64 20 6e 75 6d 65 72 69 63 61 6c 6c 79 0a 20 20 20 20 2a 20 66 72 6f 6d 20 30 2c 20 dexed.numerically.....*.from.0,.
eb40 6f 6e 65 20 65 78 65 63 75 74 65 20 63 61 6c 6c 20 69 73 20 64 6f 6e 65 20 66 6f 72 20 65 76 65 one.execute.call.is.done.for.eve
eb60 72 79 20 22 72 6f 77 22 20 69 6e 20 74 68 65 20 61 72 72 61 79 2e 0a 20 20 20 20 2a 0a 20 20 20 ry."row".in.the.array......*....
eb80 20 2a 20 49 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 20 64 75 72 69 6e 67 20 65 78 65 .*.If.an.error.occurs.during.exe
eba0 63 75 74 65 28 29 2c 20 65 78 65 63 75 74 65 4d 75 6c 74 69 70 6c 65 28 29 20 64 6f 65 73 20 6e cute(),.executeMultiple().does.n
ebc0 6f 74 0a 20 20 20 20 2a 20 65 78 65 63 75 74 65 20 74 68 65 20 75 6e 66 69 6e 69 73 68 65 64 20 ot.....*.execute.the.unfinished.
ebe0 72 6f 77 73 2c 20 62 75 74 20 72 61 74 68 65 72 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 65 72 rows,.but.rather.returns.that.er
ec00 72 6f 72 2e 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 73 6f 75 72 63 65 ror......*.....*.@param.resource
ec20 20 24 73 74 6d 74 20 71 75 65 72 79 20 68 61 6e 64 6c 65 20 66 72 6f 6d 20 70 72 65 70 61 72 65 .$stmt.query.handle.from.prepare
ec40 28 29 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 24 64 61 74 61 20 6e ().....*.@param.array....$data.n
ec60 75 6d 65 72 69 63 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 20 20 20 20 umeric.array.containing.the.....
ec80 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 74 6f 20 *.......................data.to.
eca0 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 2a 0a 20 20 20 20 insert.into.the.query.....*.....
ecc0 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 4f 4b 20 6f 72 20 44 42 5f 45 72 72 6f *.@return.mixed.DB_OK.or.DB_Erro
ece0 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 r.....*.....*.@access.public....
ed00 20 2a 20 40 73 65 65 20 70 72 65 70 61 72 65 28 29 2c 20 65 78 65 63 75 74 65 28 29 0a 20 20 20 .*.@see.prepare(),.execute()....
ed20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 4d 75 6c 74 69 70 6c .*/......function.executeMultipl
ed40 65 28 20 24 73 74 6d 74 2c 20 26 24 64 61 74 61 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 e(.$stmt,.&$data.).....{........
ed60 20 66 6f 72 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 20 24 64 61 74 61 20 .for($i.=.0;.$i.<.sizeof(.$data.
ed80 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 );.$i++).{.............$res.=.$t
eda0 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 73 74 6d 74 2c 20 24 64 61 74 61 5b 24 69 5d 29 3b 0a his->execute($stmt,.$data[$i]);.
edc0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 ............if.(DB::isError($res
ede0 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 )).{.................return.$res
ee00 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ;.............}.........}.......
ee20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d ..return.DB_OK;.....}......//.}}
ee40 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6d 6f 64 69 66 79 51 75 65 72 79 28 29 0a 0a 20 20 20 20 }.....//.{{{.modifyQuery()......
ee60 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 75 73 65 64 20 62 /**......*.This.method.is.used.b
ee80 79 20 62 61 63 6b 65 6e 64 73 20 74 6f 20 61 6c 74 65 72 20 71 75 65 72 69 65 73 20 66 6f 72 20 y.backends.to.alter.queries.for.
eea0 76 61 72 69 6f 75 73 0a 20 20 20 20 20 2a 20 72 65 61 73 6f 6e 73 2e 20 20 49 74 20 69 73 20 64 various......*.reasons...It.is.d
eec0 65 66 69 6e 65 64 20 68 65 72 65 20 74 6f 20 61 73 73 75 72 65 20 74 68 61 74 20 61 6c 6c 20 69 efined.here.to.assure.that.all.i
eee0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 0a 20 20 20 20 20 2a 20 68 61 76 65 20 74 68 69 73 20 mplementations......*.have.this.
ef00 6d 65 74 68 6f 64 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 method.defined.......*......*.@p
ef20 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 20 71 75 65 72 79 20 74 6f 20 6d 6f 64 aram.string.$query..query.to.mod
ef40 69 66 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 68 65 20 6e 65 ify......*......*.@return.the.ne
ef60 77 20 28 6d 6f 64 69 66 69 65 64 29 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a w.(modified).query......*......*
ef80 20 40 61 63 63 65 73 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e .@access.private......*/.....fun
efa0 63 74 69 6f 6e 20 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 20 7b 0a 20 20 20 20 ction.modifyQuery($query).{.....
efc0 20 20 20 20 72 65 74 75 72 6e 20 24 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f ....return.$query;.....}......//
efe0 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 .}}}.....//.{{{.modifyLimitQuery
f000 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 ()...../**.....*.This.method.is.
f020 75 73 65 64 20 62 79 20 62 61 63 6b 65 6e 64 73 20 74 6f 20 61 6c 74 65 72 20 6c 69 6d 69 74 65 used.by.backends.to.alter.limite
f040 64 20 71 75 65 72 69 65 73 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 d.queries.....*.....*.@param.str
f060 69 6e 67 20 20 24 71 75 65 72 79 20 71 75 65 72 79 20 74 6f 20 6d 6f 64 69 66 79 0a 20 20 20 20 ing..$query.query.to.modify.....
f080 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 66 72 6f 6d 20 20 74 68 65 20 72 6f 77 20 *.@param.integer.$from..the.row.
f0a0 74 6f 20 73 74 61 72 74 20 74 6f 20 66 65 74 63 68 69 6e 67 0a 20 20 20 20 2a 20 40 70 61 72 61 to.start.to.fetching.....*.@para
f0c0 6d 20 69 6e 74 65 67 65 72 20 24 63 6f 75 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 73 20 6f 66 20 m.integer.$count.the.numbers.of.
f0e0 72 6f 77 73 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 rows.to.fetch.....*.....*.@retur
f100 6e 20 74 68 65 20 6e 65 77 20 28 6d 6f 64 69 66 69 65 64 29 20 71 75 65 72 79 0a 20 20 20 20 2a n.the.new.(modified).query.....*
f120 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 2a 2f 0a 0a 20 .....*.@access.private.....*/...
f140 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 24 71 75 ...function.modifyLimitQuery($qu
f160 65 72 79 2c 20 24 66 72 6f 6d 2c 20 24 63 6f 75 6e 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ery,.$from,.$count).....{.......
f180 20 20 72 65 74 75 72 6e 20 24 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d ..return.$query;.....}......//.}
f1a0 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 71 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 }}.....//.{{{.query()....../**..
f1c0 20 20 20 20 2a 20 53 65 6e 64 20 61 20 71 75 65 72 79 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 ....*.Send.a.query.to.the.databa
f1e0 73 65 20 61 6e 64 20 72 65 74 75 72 6e 20 61 6e 79 20 72 65 73 75 6c 74 73 20 77 69 74 68 20 61 se.and.return.any.results.with.a
f200 0a 20 20 20 20 20 2a 20 44 42 5f 72 65 73 75 6c 74 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 2a ......*.DB_result.object.......*
f220 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 ......*.@access.public......*...
f240 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 20 74 68 65 20 53 ...*.@param.string.$query..the.S
f260 51 4c 20 71 75 65 72 79 20 6f 72 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 74 6f 20 70 72 65 QL.query.or.the.statement.to.pre
f280 70 61 72 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 61 72 61 6d pare......*.@param.string.$param
f2a0 73 20 74 68 65 20 64 61 74 61 20 74 6f 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 71 75 s.the.data.to.be.added.to.the.qu
f2c0 65 72 79 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 61 20 44 42 5f 72 65 ery......*.@return.mixed.a.DB_re
f2e0 73 75 6c 74 20 6f 62 6a 65 63 74 20 6f 72 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c sult.object.or.DB_OK.on.success,
f300 20 61 20 44 42 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f .a.DB......*................erro
f320 72 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 r.on.failure......*......*.@see.
f340 44 42 3a 3a 69 73 45 72 72 6f 72 0a 20 20 20 20 20 2a 20 40 73 65 65 20 44 42 5f 63 6f 6d 6d 6f DB::isError......*.@see.DB_commo
f360 6e 3a 3a 70 72 65 70 61 72 65 0a 20 20 20 20 20 2a 20 40 73 65 65 20 44 42 5f 63 6f 6d 6d 6f 6e n::prepare......*.@see.DB_common
f380 3a 3a 65 78 65 63 75 74 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 ::execute......*/.....function.&
f3a0 71 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 29 query($query,.$params.=.array())
f3c0 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 70 61 72 61 6d 73 29 20 3e .{.........if.(sizeof($params).>
f3e0 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 68 20 3d 20 24 74 68 69 73 2d 3e .0).{.............$sth.=.$this->
f400 70 72 65 70 61 72 65 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 prepare($query);.............if.
f420 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 (DB::isError($sth)).{...........
f440 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ......return.$sth;.............}
f460 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 .............return.$this->execu
f480 74 65 28 24 73 74 68 2c 20 24 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 te($sth,.$params);.........}.els
f4a0 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d e.{.............$result.=.$this-
f4c0 3e 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 >simpleQuery($query);...........
f4e0 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 7c 7c 20 24 72 ..if.(DB::isError($result).||.$r
f500 65 73 75 6c 74 20 3d 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 esult.===.DB_OK).{..............
f520 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ...return.$result;.............}
f540 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e .else.{.................return.n
f560 65 77 20 44 42 5f 72 65 73 75 6c 74 28 24 74 68 69 73 2c 20 24 72 65 73 75 6c 74 29 3b 0a 20 20 ew.DB_result($this,.$result);...
f580 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 ..........}.........}.....}.....
f5a0 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6c 69 6d 69 74 51 75 65 72 79 28 29 0a .//.}}}.....//.{{{.limitQuery().
f5c0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 47 65 6e 65 72 61 74 65 73 20 61 20 6c 69 6d 69 74 65 ..../**.....*.Generates.a.limite
f5e0 64 20 71 75 65 72 79 0a 20 20 20 20 2a 20 2a 45 58 50 45 52 49 4d 45 4e 54 41 4c 2a 0a 20 20 20 d.query.....*.*EXPERIMENTAL*....
f600 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 24 71 75 65 72 79 20 71 .*.....*.@param.string..$query.q
f620 75 65 72 79 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 66 72 6f 6d 20 uery.....*.@param.integer.$from.
f640 20 74 68 65 20 72 6f 77 20 74 6f 20 73 74 61 72 74 20 74 6f 20 66 65 74 63 68 69 6e 67 0a 20 20 .the.row.to.start.to.fetching...
f660 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 63 6f 75 6e 74 20 74 68 65 20 6e 75 ..*.@param.integer.$count.the.nu
f680 6d 62 65 72 73 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 2a 0a 20 20 20 mbers.of.rows.to.fetch.....*....
f6a0 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 61 20 44 42 5f 52 65 73 75 6c 74 20 6f 62 6a .*.@return.mixed.a.DB_Result.obj
f6c0 65 63 74 20 6f 72 20 61 20 44 42 5f 45 72 72 6f 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 ect.or.a.DB_Error.....*.....*.@a
f6e0 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e ccess.public.....*/.....function
f700 20 26 6c 69 6d 69 74 51 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 66 72 6f 6d 2c 20 24 63 6f 75 .&limitQuery($query,.$from,.$cou
f720 6e 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 20 3d 20 24 74 68 69 nt).....{.........$query..=.$thi
f740 73 2d 3e 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 66 72 6f s->modifyLimitQuery($query,.$fro
f760 6d 2c 20 24 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 m,.$count);.........$result.=.$t
f780 68 69 73 2d 3e 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 his->simpleQuery($query);.......
f7a0 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 7c 7c 20 24 72 ..if.(DB::isError($result).||.$r
f7c0 65 73 75 6c 74 20 3d 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 esult.===.DB_OK).{.............r
f7e0 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a eturn.$result;.........}.else.{.
f800 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 5b 27 6c 69 6d 69 74 5f 66 72 6f 6d ............$options['limit_from
f820 27 5d 20 20 3d 20 24 66 72 6f 6d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e ']..=.$from;.............$option
f840 73 5b 27 6c 69 6d 69 74 5f 63 6f 75 6e 74 27 5d 20 3d 20 24 63 6f 75 6e 74 3b 0a 20 20 20 20 20 s['limit_count'].=.$count;......
f860 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 44 42 5f 72 65 73 75 6c 74 28 24 74 68 69 .......return.new.DB_result($thi
f880 73 2c 20 24 72 65 73 75 6c 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 7d s,.$result,.$options);.........}
f8a0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 .....}......//.}}}.....//.{{{.ge
f8c0 74 4f 6e 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 74 68 65 tOne()....../**......*.Fetch.the
f8e0 20 66 69 72 73 74 20 63 6f 6c 75 6d 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 72 6f 77 20 6f .first.column.of.the.first.row.o
f900 66 20 64 61 74 61 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 0a 20 20 20 20 20 2a 20 61 20 71 75 f.data.returned.from......*.a.qu
f920 65 72 79 2e 20 20 54 61 6b 65 73 20 63 61 72 65 20 6f 66 20 64 6f 69 6e 67 20 74 68 65 20 71 75 ery...Takes.care.of.doing.the.qu
f940 65 72 79 20 61 6e 64 20 66 72 65 65 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 0a 20 20 20 20 ery.and.freeing.the.results.....
f960 20 2a 20 77 68 65 6e 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 .*.when.finished.......*......*.
f980 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 74 68 65 20 53 51 4c 20 71 75 65 @param.string.$query.the.SQL.que
f9a0 72 79 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 70 61 72 61 6d 73 20 69 ry......*.@param.array.$params.i
f9c0 66 20 73 75 70 70 6c 69 65 64 2c 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 20 77 69 6c 6c f.supplied,.prepare/execute.will
f9e0 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 69 73 .be.used......*........with.this
fa00 20 61 72 72 61 79 20 61 73 20 65 78 65 63 75 74 65 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 .array.as.execute.parameters....
fa20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f ..*......*.@return.mixed.DB_Erro
fa40 72 20 6f 72 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 71 r.or.the.returned.value.of.the.q
fa60 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 uery......*......*.@access.publi
fa80 63 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 67 65 74 4f 6e 65 28 c......*/......function.&getOne(
faa0 24 71 75 65 72 79 2c 20 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b $query,.$params.=.array()).....{
fac0 0a 20 20 20 20 20 20 20 20 73 65 74 74 79 70 65 28 24 70 61 72 61 6d 73 2c 20 22 61 72 72 61 79 .........settype($params,."array
fae0 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 70 61 72 61 6d 73 29 20 ");.........if.(sizeof($params).
fb00 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 68 20 3d 20 24 74 68 69 73 2d >.0).{.............$sth.=.$this-
fb20 3e 70 72 65 70 61 72 65 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 >prepare($query);.............if
fb40 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .(DB::isError($sth)).{..........
fb60 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......return.$sth;.............
fb80 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 }.............$res.=.$this->exec
fba0 75 74 65 28 24 73 74 68 2c 20 24 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c ute($sth,.$params);.........}.el
fbc0 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 71 se.{.............$res.=.$this->q
fbe0 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 uery($query);.........}.........
fc00 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 29 29 20 7b 0a 20 20 20 20 20 20 .if.(DB::isError($res)).{.......
fc20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ......return.$res;.........}....
fc40 20 20 20 20 20 20 24 65 72 72 20 3d 20 24 72 65 73 2d 3e 66 65 74 63 68 49 6e 74 6f 28 24 72 6f ......$err.=.$res->fetchInto($ro
fc60 77 2c 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 29 3b 0a 20 20 20 20 20 20 w,.DB_FETCHMODE_ORDERED);.......
fc80 20 20 69 66 20 28 24 65 72 72 20 21 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 ..if.($err.!==.DB_OK).{.........
fca0 20 20 20 20 72 65 74 75 72 6e 20 24 65 72 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ....return.$err;.........}......
fcc0 20 20 20 20 24 72 65 73 2d 3e 66 72 65 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 ....$res->free();..........if.(i
fce0 73 73 65 74 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d sset($sth)).{.............$this-
fd00 3e 66 72 65 65 52 65 73 75 6c 74 28 24 73 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 >freeResult($sth);.........}....
fd20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 6f 77 5b 30 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ......return.$row[0];.....}.....
fd40 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 52 6f 77 28 29 0a 0a 20 20 20 .//.}}}.....//.{{{.getRow().....
fd60 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 74 68 65 20 66 69 72 73 74 20 72 6f 77 20 ./**......*.Fetch.the.first.row.
fd80 6f 66 20 64 61 74 61 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 61 20 71 75 65 72 79 2e 20 20 of.data.returned.from.a.query...
fda0 54 61 6b 65 73 20 63 61 72 65 0a 20 20 20 20 20 2a 20 6f 66 20 64 6f 69 6e 67 20 74 68 65 20 71 Takes.care......*.of.doing.the.q
fdc0 75 65 72 79 20 61 6e 64 20 66 72 65 65 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 20 77 68 65 uery.and.freeing.the.results.whe
fde0 6e 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d n.finished.......*......*.@param
fe00 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 74 68 65 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 .string.$query.the.SQL.query....
fe20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 66 65 74 63 68 6d 6f 64 65 20 74 68 ..*.@param.integer.$fetchmode.th
fe40 65 20 66 65 74 63 68 20 6d 6f 64 65 20 74 6f 20 75 73 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 e.fetch.mode.to.use......*.@para
fe60 6d 20 61 72 72 61 79 20 24 70 61 72 61 6d 73 20 61 72 72 61 79 20 69 66 20 73 75 70 70 6c 69 65 m.array.$params.array.if.supplie
fe80 64 2c 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 20 77 69 6c 6c 20 62 65 20 75 73 65 64 0a d,.prepare/execute.will.be.used.
fea0 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 69 73 20 61 72 72 61 79 20 61 73 .....*........with.this.array.as
fec0 20 65 78 65 63 75 74 65 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 2a 20 40 61 63 63 65 .execute.parameters......*.@acce
fee0 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 74 ss.public......*.@return.array.t
ff00 68 65 20 66 69 72 73 74 20 72 6f 77 20 6f 66 20 72 65 73 75 6c 74 73 20 61 73 20 61 6e 20 61 72 he.first.row.of.results.as.an.ar
ff20 72 61 79 20 69 6e 64 65 78 65 64 20 66 72 6f 6d 0a 20 20 20 20 20 2a 20 30 2c 20 6f 72 20 61 20 ray.indexed.from......*.0,.or.a.
ff40 44 42 20 65 72 72 6f 72 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 DB.error.code.......*/......func
ff60 74 69 6f 6e 20 26 67 65 74 52 6f 77 28 24 71 75 65 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 tion.&getRow($query,............
ff80 20 20 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 20 3d 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 ..........$params.=.null,.......
ffa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 ...............$fetchmode.=.DB_F
ffc0 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ETCHMODE_DEFAULT).....{.........
ffe0 2f 2f 20 63 6f 6d 70 61 74 20 63 68 65 63 6b 2c 20 74 68 65 20 70 61 72 61 6d 73 20 61 6e 64 20 //.compat.check,.the.params.and.
10000 66 65 74 63 68 6d 6f 64 65 20 70 61 72 61 6d 65 74 65 72 73 20 75 73 65 64 20 74 6f 0a 20 20 20 fetchmode.parameters.used.to....
10020 20 20 20 20 20 2f 2f 20 68 61 76 65 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 72 64 65 72 0a .....//.have.the.opposite.order.
10040 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 61 72 61 6d 73 29 29 20 ........if.(!is_array($params)).
10060 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 66 65 74 63 {.............if.(is_array($fetc
10080 68 6d 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6d 70 20 3d hmode)).{.................$tmp.=
100a0 20 24 70 61 72 61 6d 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 61 6d .$params;.................$param
100c0 73 20 3d 20 24 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.=.$fetchmode;.................
100e0 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 6d 70 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d $fetchmode.=.$tmp;.............}
10100 20 65 6c 73 65 69 66 20 28 24 70 61 72 61 6d 73 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 .elseif.($params.!==.null).{....
10120 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 70 61 72 61 6d .............$fetchmode.=.$param
10140 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 20 3d 20 6e 75 6c s;.................$params.=.nul
10160 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 l;.............}.........}......
10180 20 20 20 24 70 61 72 61 6d 73 20 3d 20 28 65 6d 70 74 79 28 24 70 61 72 61 6d 73 29 29 20 3f 20 ...$params.=.(empty($params)).?.
101a0 61 72 72 61 79 28 29 20 3a 20 24 70 61 72 61 6d 73 3b 0a 20 20 20 20 20 20 20 20 24 66 65 74 63 array().:.$params;.........$fetc
101c0 68 6d 6f 64 65 20 3d 20 28 65 6d 70 74 79 28 24 66 65 74 63 68 6d 6f 64 65 29 29 20 3f 20 44 42 hmode.=.(empty($fetchmode)).?.DB
101e0 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 20 3a 20 24 66 65 74 63 68 6d 6f 64 65 3b _FETCHMODE_DEFAULT.:.$fetchmode;
10200 0a 20 20 20 20 20 20 20 20 73 65 74 74 79 70 65 28 24 70 61 72 61 6d 73 2c 20 27 61 72 72 61 79 .........settype($params,.'array
10220 27 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 70 61 72 61 6d 73 29 20 ');.........if.(sizeof($params).
10240 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 68 20 3d 20 24 74 68 69 73 2d >.0).{.............$sth.=.$this-
10260 3e 70 72 65 70 61 72 65 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 >prepare($query);.............if
10280 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .(DB::isError($sth)).{..........
102a0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......return.$sth;.............
102c0 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 }.............$res.=.$this->exec
102e0 75 74 65 28 24 73 74 68 2c 20 24 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c ute($sth,.$params);.........}.el
10300 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 71 se.{.............$res.=.$this->q
10320 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 uery($query);.........}.........
10340 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 29 29 20 7b 0a 20 20 20 20 20 20 .if.(DB::isError($res)).{.......
10360 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ......return.$res;.........}....
10380 20 20 20 20 20 20 24 65 72 72 20 3d 20 24 72 65 73 2d 3e 66 65 74 63 68 49 6e 74 6f 28 24 72 6f ......$err.=.$res->fetchInto($ro
103a0 77 2c 20 24 66 65 74 63 68 6d 6f 64 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 w,.$fetchmode);..........if.($er
103c0 72 20 21 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 r.!==.DB_OK).{.............retur
103e0 6e 20 24 65 72 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 2d 3e n.$err;.........}.........$res->
10400 66 72 65 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 73 74 68 29 free();..........if.(isset($sth)
10420 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 65 65 52 65 73 75 6c ).{.............$this->freeResul
10440 74 28 24 73 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 t($sth);.........}..........retu
10460 72 6e 20 24 72 6f 77 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f rn.$row;.....}......//.}}}...../
10480 2f 20 7b 7b 7b 20 67 65 74 43 6f 6c 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 /.{{{.getCol()....../**......*.F
104a0 65 74 63 68 20 61 20 73 69 6e 67 6c 65 20 63 6f 6c 75 6d 6e 20 66 72 6f 6d 20 61 20 72 65 73 75 etch.a.single.column.from.a.resu
104c0 6c 74 20 73 65 74 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 61 6e 0a 20 20 20 20 20 lt.set.and.return.it.as.an......
104e0 2a 20 69 6e 64 65 78 65 64 20 61 72 72 61 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 *.indexed.array.......*......*.@
10500 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 74 68 65 20 53 51 4c 20 71 75 65 72 param.string.$query.the.SQL.quer
10520 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 24 63 6f y......*......*.@param.mixed.$co
10540 6c 20 77 68 69 63 68 20 63 6f 6c 75 6d 6e 20 74 6f 20 72 65 74 75 72 6e 20 28 69 6e 74 65 67 65 l.which.column.to.return.(intege
10560 72 20 5b 63 6f 6c 75 6d 6e 20 6e 75 6d 62 65 72 2c 0a 20 20 20 20 20 2a 20 73 74 61 72 74 69 6e r.[column.number,......*.startin
10580 67 20 61 74 20 30 5d 20 6f 72 20 73 74 72 69 6e 67 20 5b 63 6f 6c 75 6d 6e 20 6e 61 6d 65 5d 29 g.at.0].or.string.[column.name])
105a0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 70 61 72 ......*......*.@param.array.$par
105c0 61 6d 73 20 61 72 72 61 79 20 69 66 20 73 75 70 70 6c 69 65 64 2c 20 70 72 65 70 61 72 65 2f 65 ams.array.if.supplied,.prepare/e
105e0 78 65 63 75 74 65 20 77 69 6c 6c 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 2a 20 20 20 20 20 20 xecute.will.be.used......*......
10600 20 20 77 69 74 68 20 74 68 69 73 20 61 72 72 61 79 20 61 73 20 65 78 65 63 75 74 65 20 70 61 72 ..with.this.array.as.execute.par
10620 61 6d 65 74 65 72 73 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 ameters......*.@access.public...
10640 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 61 6e 20 69 6e 64 ...*......*.@return.array.an.ind
10660 65 78 65 64 20 61 72 72 61 79 20 77 69 74 68 20 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 74 68 exed.array.with.the.data.from.th
10680 65 20 66 69 72 73 74 0a 20 20 20 20 20 2a 20 72 6f 77 20 61 74 20 69 6e 64 65 78 20 30 2c 20 6f e.first......*.row.at.index.0,.o
106a0 72 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 r.a.DB.error.code.......*/......
106c0 66 75 6e 63 74 69 6f 6e 20 26 67 65 74 43 6f 6c 28 24 71 75 65 72 79 2c 20 24 63 6f 6c 20 3d 20 function.&getCol($query,.$col.=.
106e0 30 2c 20 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 0,.$params.=.array()).....{.....
10700 20 20 20 20 73 65 74 74 79 70 65 28 24 70 61 72 61 6d 73 2c 20 22 61 72 72 61 79 22 29 3b 0a 20 ....settype($params,."array");..
10720 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 70 61 72 61 6d 73 29 20 3e 20 30 29 20 .......if.(sizeof($params).>.0).
10740 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 68 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 70 {.............$sth.=.$this->prep
10760 61 72 65 28 24 71 75 65 72 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 are($query);..............if.(DB
10780 3a 3a 69 73 45 72 72 6f 72 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ::isError($sth)).{..............
107a0 20 20 20 72 65 74 75 72 6e 20 24 73 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 ...return.$sth;.............}...
107c0 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 ...........$res.=.$this->execute
107e0 28 24 73 74 68 2c 20 24 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 ($sth,.$params);.........}.else.
10800 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 {.............$res.=.$this->quer
10820 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 y($query);.........}..........if
10840 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .(DB::isError($res)).{..........
10860 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ...return.$res;.........}.......
10880 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 69 73 5f 69 6e 74 28 24 63 6f 6c 29 20 3f 20 44 ...$fetchmode.=.is_int($col).?.D
108a0 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 20 3a 20 44 42 5f 46 45 54 43 48 4d 4f B_FETCHMODE_ORDERED.:.DB_FETCHMO
108c0 44 45 5f 41 53 53 4f 43 3b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 61 72 72 61 79 28 29 DE_ASSOC;.........$ret.=.array()
108e0 3b 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 73 5f 61 72 72 61 79 28 24 72 6f 77 20 ;..........while.(is_array($row.
10900 3d 20 24 72 65 73 2d 3e 66 65 74 63 68 52 6f 77 28 24 66 65 74 63 68 6d 6f 64 65 29 29 29 20 7b =.$res->fetchRow($fetchmode))).{
10920 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 5b 5d 20 3d 20 24 72 6f 77 5b 24 63 6f 6c 5d .............$ret[].=.$row[$col]
10940 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 ;.........}.........if.(DB::isEr
10960 72 6f 72 28 24 72 6f 77 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 ror($row)).{.............$ret.=.
10980 24 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 2d 3e 66 72 $row;.........}.........$res->fr
109a0 65 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 73 74 68 29 29 20 ee();..........if.(isset($sth)).
109c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 65 65 52 65 73 75 6c 74 28 {.............$this->freeResult(
109e0 24 73 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e $sth);.........}..........return
10a00 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 .$ret;.....}......//.}}}.....//.
10a20 7b 7b 7b 20 67 65 74 41 73 73 6f 63 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 {{{.getAssoc()....../**......*.F
10a40 65 74 63 68 20 74 68 65 20 65 6e 74 69 72 65 20 72 65 73 75 6c 74 20 73 65 74 20 6f 66 20 61 20 etch.the.entire.result.set.of.a.
10a60 71 75 65 72 79 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 61 6e 0a 20 20 20 20 20 2a query.and.return.it.as.an......*
10a80 20 61 73 73 6f 63 69 61 74 69 76 65 20 61 72 72 61 79 20 75 73 69 6e 67 20 74 68 65 20 66 69 72 .associative.array.using.the.fir
10aa0 73 74 20 63 6f 6c 75 6d 6e 20 61 73 20 74 68 65 20 6b 65 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 st.column.as.the.key.......*....
10ac0 20 20 2a 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 6d ..*.If.the.result.set.contains.m
10ae0 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 63 6f 6c 75 6d 6e 73 2c 20 74 68 65 20 76 61 6c 75 65 0a ore.than.two.columns,.the.value.
10b00 20 20 20 20 20 2a 20 77 69 6c 6c 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 66 20 74 68 65 20 76 .....*.will.be.an.array.of.the.v
10b20 61 6c 75 65 73 20 66 72 6f 6d 20 63 6f 6c 75 6d 6e 20 32 2d 6e 2e 20 20 49 66 20 74 68 65 20 72 alues.from.column.2-n...If.the.r
10b40 65 73 75 6c 74 0a 20 20 20 20 20 2a 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 74 esult......*.set.contains.only.t
10b60 77 6f 20 63 6f 6c 75 6d 6e 73 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 77 wo.columns,.the.returned.value.w
10b80 69 6c 6c 20 62 65 20 61 0a 20 20 20 20 20 2a 20 73 63 61 6c 61 72 20 77 69 74 68 20 74 68 65 20 ill.be.a......*.scalar.with.the.
10ba0 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 63 6f 6c 75 6d 6e 20 28 75 6e 6c 65 value.of.the.second.column.(unle
10bc0 73 73 20 66 6f 72 63 65 64 20 74 6f 20 61 6e 0a 20 20 20 20 20 2a 20 61 72 72 61 79 20 77 69 74 ss.forced.to.an......*.array.wit
10be0 68 20 74 68 65 20 24 66 6f 72 63 65 5f 61 72 72 61 79 20 70 61 72 61 6d 65 74 65 72 29 2e 20 20 h.the.$force_array.parameter)...
10c00 41 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 69 73 0a 20 20 20 20 20 2a 20 72 65 74 75 72 6e A.DB.error.code.is......*.return
10c20 65 64 20 6f 6e 20 65 72 72 6f 72 73 2e 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 73 65 74 ed.on.errors...If.the.result.set
10c40 20 63 6f 6e 74 61 69 6e 73 20 66 65 77 65 72 20 74 68 61 6e 20 74 77 6f 0a 20 20 20 20 20 2a 20 .contains.fewer.than.two......*.
10c60 63 6f 6c 75 6d 6e 73 2c 20 61 20 44 42 5f 45 52 52 4f 52 5f 54 52 55 4e 43 41 54 45 44 20 65 72 columns,.a.DB_ERROR_TRUNCATED.er
10c80 72 6f 72 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 46 ror.is.returned.......*......*.F
10ca0 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 74 61 62 6c 65 20 22 6d 79 74 61 62 6c or.example,.if.the.table."mytabl
10cc0 65 22 20 63 6f 6e 74 61 69 6e 73 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 20 49 44 20 20 e".contains:......*......*..ID..
10ce0 20 20 20 20 54 45 58 54 20 20 20 20 20 20 20 44 41 54 45 0a 20 20 20 20 20 2a 20 2d 2d 2d 2d 2d ....TEXT.......DATE......*.-----
10d00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 ---------------------------.....
10d20 20 2a 20 20 31 20 20 20 20 20 20 20 27 6f 6e 65 27 20 20 20 20 20 20 39 34 34 36 37 39 34 30 38 .*..1.......'one'......944679408
10d40 0a 20 20 20 20 20 2a 20 20 32 20 20 20 20 20 20 20 27 74 77 6f 27 20 20 20 20 20 20 39 34 34 36 ......*..2.......'two'......9446
10d60 37 39 34 30 38 0a 20 20 20 20 20 2a 20 20 33 20 20 20 20 20 20 20 27 74 68 72 65 65 27 20 20 20 79408......*..3.......'three'...
10d80 20 39 34 34 36 37 39 34 30 38 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 6e 20 74 68 .944679408......*......*.Then.th
10da0 65 20 63 61 6c 6c 20 67 65 74 41 73 73 6f 63 28 27 53 45 4c 45 43 54 20 69 64 2c 74 65 78 74 20 e.call.getAssoc('SELECT.id,text.
10dc0 46 52 4f 4d 20 6d 79 74 61 62 6c 65 27 29 20 72 65 74 75 72 6e 73 3a 0a 20 20 20 20 20 2a 20 20 FROM.mytable').returns:......*..
10de0 20 61 72 72 61 79 28 0a 20 20 20 20 20 2a 20 20 20 20 20 27 31 27 20 3d 3e 20 27 6f 6e 65 27 2c .array(......*.....'1'.=>.'one',
10e00 0a 20 20 20 20 20 2a 20 20 20 20 20 27 32 27 20 3d 3e 20 27 74 77 6f 27 2c 0a 20 20 20 20 20 2a ......*.....'2'.=>.'two',......*
10e20 20 20 20 20 20 27 33 27 20 3d 3e 20 27 74 68 72 65 65 27 2c 0a 20 20 20 20 20 2a 20 20 20 29 0a .....'3'.=>.'three',......*...).
10e40 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 2e 2e 2e 77 68 69 6c 65 20 74 68 65 20 63 61 6c 6c 20 .....*......*....while.the.call.
10e60 67 65 74 41 73 73 6f 63 28 27 53 45 4c 45 43 54 20 69 64 2c 74 65 78 74 2c 64 61 74 65 20 46 52 getAssoc('SELECT.id,text,date.FR
10e80 4f 4d 20 6d 79 74 61 62 6c 65 27 29 20 72 65 74 75 72 6e 73 3a 0a 20 20 20 20 20 2a 20 20 20 61 OM.mytable').returns:......*...a
10ea0 72 72 61 79 28 0a 20 20 20 20 20 2a 20 20 20 20 20 27 31 27 20 3d 3e 20 61 72 72 61 79 28 27 6f rray(......*.....'1'.=>.array('o
10ec0 6e 65 27 2c 20 27 39 34 34 36 37 39 34 30 38 27 29 2c 0a 20 20 20 20 20 2a 20 20 20 20 20 27 32 ne',.'944679408'),......*.....'2
10ee0 27 20 3d 3e 20 61 72 72 61 79 28 27 74 77 6f 27 2c 20 27 39 34 34 36 37 39 34 30 38 27 29 2c 0a '.=>.array('two',.'944679408'),.
10f00 20 20 20 20 20 2a 20 20 20 20 20 27 33 27 20 3d 3e 20 61 72 72 61 79 28 27 74 68 72 65 65 27 2c .....*.....'3'.=>.array('three',
10f20 20 27 39 34 34 36 37 39 34 30 38 27 29 0a 20 20 20 20 20 2a 20 20 20 29 0a 20 20 20 20 20 2a 0a .'944679408')......*...)......*.
10f40 20 20 20 20 20 2a 20 49 66 20 74 68 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 72 6f 77 20 .....*.If.the.more.than.one.row.
10f60 6f 63 63 75 72 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 69 6e 20 74 68 occurs.with.the.same.value.in.th
10f80 65 0a 20 20 20 20 20 2a 20 66 69 72 73 74 20 63 6f 6c 75 6d 6e 2c 20 74 68 65 20 6c 61 73 74 20 e......*.first.column,.the.last.
10fa0 72 6f 77 20 6f 76 65 72 77 72 69 74 65 73 20 61 6c 6c 20 70 72 65 76 69 6f 75 73 20 6f 6e 65 73 row.overwrites.all.previous.ones
10fc0 20 62 79 0a 20 20 20 20 20 2a 20 64 65 66 61 75 6c 74 2e 20 20 55 73 65 20 74 68 65 20 24 67 72 .by......*.default...Use.the.$gr
10fe0 6f 75 70 20 70 61 72 61 6d 65 74 65 72 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 20 oup.parameter.if.you.don't.want.
11000 74 6f 0a 20 20 20 20 20 2a 20 6f 76 65 72 77 72 69 74 65 20 6c 69 6b 65 20 74 68 69 73 2e 20 20 to......*.overwrite.like.this...
11020 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 67 65 74 41 73 73 6f 63 28 Example:......*......*.getAssoc(
11040 27 53 45 4c 45 43 54 20 63 61 74 65 67 6f 72 79 2c 69 64 2c 6e 61 6d 65 20 46 52 4f 4d 20 6d 79 'SELECT.category,id,name.FROM.my
11060 74 61 62 6c 65 27 2c 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 2a 20 20 20 20 20 table',.false,.null,......*.....
11080 20 20 20 20 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 2c 20 74 72 75 65 29 20 72 .....DB_FETCHMODE_ASSOC,.true).r
110a0 65 74 75 72 6e 73 3a 0a 20 20 20 20 20 2a 20 20 20 61 72 72 61 79 28 0a 20 20 20 20 20 2a 20 20 eturns:......*...array(......*..
110c0 20 20 20 27 31 27 20 3d 3e 20 61 72 72 61 79 28 61 72 72 61 79 28 27 69 64 27 20 3d 3e 20 27 34 ...'1'.=>.array(array('id'.=>.'4
110e0 27 2c 20 27 6e 61 6d 65 27 20 3d 3e 20 27 6e 75 6d 62 65 72 20 66 6f 75 72 27 29 2c 0a 20 20 20 ',.'name'.=>.'number.four'),....
11100 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 27 69 64 27 20 ..*..................array('id'.
11120 3d 3e 20 27 36 27 2c 20 27 6e 61 6d 65 27 20 3d 3e 20 27 6e 75 6d 62 65 72 20 73 69 78 27 29 0a =>.'6',.'name'.=>.'number.six').
11140 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 2a 20 20 20 20 20 .....*............),......*.....
11160 27 39 27 20 3d 3e 20 61 72 72 61 79 28 61 72 72 61 79 28 27 69 64 27 20 3d 3e 20 27 34 27 2c 20 '9'.=>.array(array('id'.=>.'4',.
11180 27 6e 61 6d 65 27 20 3d 3e 20 27 6e 75 6d 62 65 72 20 66 6f 75 72 27 29 2c 0a 20 20 20 20 20 2a 'name'.=>.'number.four'),......*
111a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 27 69 64 27 20 3d 3e 20 ..................array('id'.=>.
111c0 27 36 27 2c 20 27 6e 61 6d 65 27 20 3d 3e 20 27 6e 75 6d 62 65 72 20 73 69 78 27 29 0a 20 20 20 '6',.'name'.=>.'number.six')....
111e0 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 2a 20 20 20 29 0a 20 20 20 20 ..*............)......*...).....
11200 20 2a 0a 20 20 20 20 20 2a 20 4b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 20 64 61 74 61 .*......*.Keep.in.mind.that.data
11220 62 61 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 50 48 50 20 75 73 75 61 6c 6c 79 20 72 65 base.functions.in.PHP.usually.re
11240 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 20 76 61 6c 75 65 73 20 66 6f 72 20 72 65 turn.string......*.values.for.re
11260 73 75 6c 74 73 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 64 61 74 61 62 61 73 65 sults.regardless.of.the.database
11280 27 73 20 69 6e 74 65 72 6e 61 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 's.internal.type.......*......*.
112a0 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 74 68 65 20 53 51 4c 20 71 75 65 @param.string.$query.the.SQL.que
112c0 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 65 61 6e 20 ry......*......*.@param.boolean.
112e0 24 66 6f 72 63 65 5f 61 72 72 61 79 20 75 73 65 64 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 $force_array.used.only.when.the.
11300 71 75 65 72 79 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 2a 20 65 78 61 63 74 6c 79 20 74 77 6f query.returns......*.exactly.two
11320 20 63 6f 6c 75 6d 6e 73 2e 20 20 49 66 20 74 72 75 65 2c 20 74 68 65 20 76 61 6c 75 65 73 20 6f .columns...If.true,.the.values.o
11340 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 61 72 72 61 79 0a 20 20 20 20 20 2a 20 77 69 6c 6c f.the.returned.array......*.will
11360 20 62 65 20 6f 6e 65 2d 65 6c 65 6d 65 6e 74 20 61 72 72 61 79 73 20 69 6e 73 74 65 61 64 20 6f .be.one-element.arrays.instead.o
11380 66 20 73 63 61 6c 61 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 f.scalars.......*......*.@param.
113a0 61 72 72 61 79 20 24 70 61 72 61 6d 73 20 61 72 72 61 79 20 69 66 20 73 75 70 70 6c 69 65 64 2c array.$params.array.if.supplied,
113c0 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 20 77 69 6c 6c 20 62 65 20 75 73 65 64 0a 20 20 .prepare/execute.will.be.used...
113e0 20 20 20 2a 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 69 73 20 61 72 72 61 79 20 61 73 20 65 ...*........with.this.array.as.e
11400 78 65 63 75 74 65 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 xecute.parameters......*......*.
11420 40 70 61 72 61 6d 20 62 6f 6f 6c 65 61 6e 20 24 67 72 6f 75 70 20 69 66 20 74 72 75 65 2c 20 74 @param.boolean.$group.if.true,.t
11440 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 61 72 72 61 79 0a he.values.of.the.returned.array.
11460 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 .....*.......................is.
11480 77 72 61 70 70 65 64 20 69 6e 20 61 6e 6f 74 68 65 72 20 61 72 72 61 79 2e 20 20 49 66 20 74 68 wrapped.in.another.array...If.th
114a0 65 20 73 61 6d 65 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.same......*...................
114c0 20 20 20 20 6b 65 79 20 76 61 6c 75 65 20 28 69 6e 20 74 68 65 20 66 69 72 73 74 20 63 6f 6c 75 ....key.value.(in.the.first.colu
114e0 6d 6e 29 20 72 65 70 65 61 74 73 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mn).repeats......*..............
11500 20 20 20 20 20 20 20 20 20 69 74 73 65 6c 66 2c 20 74 68 65 20 76 61 6c 75 65 73 20 77 69 6c 6c .........itself,.the.values.will
11520 20 62 65 20 61 70 70 65 6e 64 65 64 20 74 6f 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 .be.appended.to......*..........
11540 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 20 61 72 72 61 79 20 69 6e 73 74 65 61 64 20 .............this.array.instead.
11560 6f 66 20 6f 76 65 72 77 72 69 74 69 6e 67 20 74 68 65 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 of.overwriting.the......*.......
11580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 73 74 69 6e 67 20 76 61 6c 75 65 73 2e ................existing.values.
115a0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 ......*......*.@access.public...
115c0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 61 73 73 6f 63 69 ...*......*.@return.array.associ
115e0 61 74 69 76 65 20 61 72 72 61 79 20 77 69 74 68 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 74 68 ative.array.with.results.from.th
11600 65 20 71 75 65 72 79 2e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 e.query.......*/......function.&
11620 67 65 74 41 73 73 6f 63 28 24 71 75 65 72 79 2c 20 24 66 6f 72 63 65 5f 61 72 72 61 79 20 3d 20 getAssoc($query,.$force_array.=.
11640 66 61 6c 73 65 2c 20 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 2c 0a 20 20 20 20 20 20 false,.$params.=.array(),.......
11660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 .................$fetchmode.=.DB
11680 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 2c 20 24 67 72 6f 75 70 20 3d 20 66 61 6c _FETCHMODE_ORDERED,.$group.=.fal
116a0 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 65 74 74 79 70 65 28 24 70 61 72 61 6d se).....{.........settype($param
116c0 73 2c 20 22 61 72 72 61 79 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 s,."array");.........if.(sizeof(
116e0 24 70 61 72 61 6d 73 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 68 $params).>.0).{.............$sth
11700 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 28 24 71 75 65 72 79 29 3b 0a 0a 20 20 20 20 .=.$this->prepare($query);......
11720 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 73 74 68 29 29 20 7b ........if.(DB::isError($sth)).{
11740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 68 3b 0a 20 20 .................return.$sth;...
11760 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 ..........}..............$res.=.
11780 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 73 74 68 2c 20 24 70 61 72 61 6d 73 29 3b 0a 20 $this->execute($sth,.$params);..
117a0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 .......}.else.{.............$res
117c0 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 .=.$this->query($query);........
117e0 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 .}..........if.(DB::isError($res
11800 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 )).{.............return.$res;...
11820 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 24 72 65 73 2d 3e 6e ......}..........$cols.=.$res->n
11840 75 6d 43 6f 6c 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6f 6c 73 20 3c 20 32 umCols();..........if.($cols.<.2
11860 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 ).{.............return.$this->ra
11880 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 54 52 55 4e 43 41 54 45 44 29 3b 0a 20 20 iseError(DB_ERROR_TRUNCATED);...
118a0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 ......}..........$results.=.arra
118c0 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6f 6c 73 20 3e 20 32 20 7c 7c 20 24 y();..........if.($cols.>.2.||.$
118e0 66 6f 72 63 65 5f 61 72 72 61 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 force_array).{.............//.re
11900 74 75 72 6e 20 61 72 72 61 79 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f turn.array.values.............//
11920 20 58 58 58 20 74 68 69 73 20 70 61 72 74 20 63 61 6e 20 62 65 20 6f 70 74 69 6d 69 7a 65 64 0a .XXX.this.part.can.be.optimized.
11940 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 42 ............if.($fetchmode.==.DB
11960 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 _FETCHMODE_ASSOC).{.............
11980 20 20 20 20 77 68 69 6c 65 20 28 69 73 5f 61 72 72 61 79 28 24 72 6f 77 20 3d 20 24 72 65 73 2d ....while.(is_array($row.=.$res-
119a0 3e 66 65 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 29 29 20 >fetchRow(DB_FETCHMODE_ASSOC))).
119c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 72 6f 77 {.....................reset($row
119e0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 65 79 20 3d 20 63 75 );.....................$key.=.cu
11a00 72 72 65 6e 74 28 24 72 6f 77 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rrent($row);....................
11a20 20 75 6e 73 65 74 28 24 72 6f 77 5b 6b 65 79 28 24 72 6f 77 29 5d 29 3b 0a 20 20 20 20 20 20 20 .unset($row[key($row)]);........
11a40 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 67 72 6f 75 70 29 20 7b 0a 20 20 20 20 20 .............if.($group).{......
11a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 73 5b 24 6b 65 79 ...................$results[$key
11a80 5d 5b 5d 20 3d 20 24 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ][].=.$row;.....................
11aa0 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 }.else.{........................
11ac0 20 24 72 65 73 75 6c 74 73 5b 24 6b 65 79 5d 20 3d 20 24 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 .$results[$key].=.$row;.........
11ae0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ............}.................}.
11b00 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
11b20 20 20 20 20 20 77 68 69 6c 65 20 28 69 73 5f 61 72 72 61 79 28 24 72 6f 77 20 3d 20 24 72 65 73 .....while.(is_array($row.=.$res
11b40 2d 3e 66 65 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 29 ->fetchRow(DB_FETCHMODE_ORDERED)
11b60 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 65 20 73 )).{.....................//.we.s
11b80 68 69 66 74 20 61 77 61 79 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 74 6f 20 67 hift.away.the.first.element.to.g
11ba0 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 64 69 63 65 et.....................//.indice
11bc0 73 20 72 75 6e 6e 69 6e 67 20 66 72 6f 6d 20 30 20 61 67 61 69 6e 0a 20 20 20 20 20 20 20 20 20 s.running.from.0.again..........
11be0 20 20 20 20 20 20 20 20 20 20 20 24 6b 65 79 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 72 ...........$key.=.array_shift($r
11c00 6f 77 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 67 72 ow);.....................if.($gr
11c20 6f 75 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 oup).{.........................$
11c40 72 65 73 75 6c 74 73 5b 24 6b 65 79 5d 5b 5d 20 3d 20 24 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 results[$key][].=.$row;.........
11c60 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
11c80 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 73 5b 24 6b 65 79 5d 20 3d 20 24 72 .............$results[$key].=.$r
11ca0 6f 77 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ow;.....................}.......
11cc0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..........}.............}.......
11ce0 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 6f 77 29 29 20 7b 0a 20 ......if.(DB::isError($row)).{..
11d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 73 20 3d 20 24 72 6f 77 3b 0a ...............$results.=.$row;.
11d20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ............}.........}.else.{..
11d40 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 74 75 72 6e 20 73 63 61 6c 61 72 20 76 61 6c 75 ...........//.return.scalar.valu
11d60 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 73 5f 61 72 72 61 79 28 24 es.............while.(is_array($
11d80 72 6f 77 20 3d 20 24 72 65 73 2d 3e 66 65 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 row.=.$res->fetchRow(DB_FETCHMOD
11da0 45 5f 4f 52 44 45 52 45 44 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 E_ORDERED))).{.................i
11dc0 66 20 28 24 67 72 6f 75 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.($group).{....................
11de0 20 24 72 65 73 75 6c 74 73 5b 24 72 6f 77 5b 30 5d 5d 5b 5d 20 3d 20 24 72 6f 77 5b 31 5d 3b 0a .$results[$row[0]][].=.$row[1];.
11e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ................}.else.{........
11e20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 73 5b 24 72 6f 77 5b 30 5d 5d 20 3d .............$results[$row[0]].=
11e40 20 24 72 6f 77 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .$row[1];.................}.....
11e60 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 ........}.............if.(DB::is
11e80 45 72 72 6f 72 28 24 72 6f 77 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 Error($row)).{.................$
11ea0 72 65 73 75 6c 74 73 20 3d 20 24 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 results.=.$row;.............}...
11ec0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 65 73 2d 3e 66 72 65 65 28 29 3b 0a 0a ......}..........$res->free();..
11ee0 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 ........if.(isset($sth)).{......
11f00 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 65 65 52 65 73 75 6c 74 28 24 73 74 68 29 3b 0a .......$this->freeResult($sth);.
11f20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c ........}..........return.$resul
11f40 74 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b ts;.....}......//.}}}.....//.{{{
11f60 20 67 65 74 41 6c 6c 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 .getAll()....../**......*.Fetch.
11f80 61 6c 6c 20 74 68 65 20 72 6f 77 73 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 61 20 71 75 65 all.the.rows.returned.from.a.que
11fa0 72 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 ry.......*......*.@param.string.
11fc0 24 71 75 65 72 79 20 74 68 65 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 $query.the.SQL.query......*.....
11fe0 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 70 61 72 61 6d 73 20 61 72 72 61 79 20 69 66 .*.@param.array.$params.array.if
12000 20 73 75 70 70 6c 69 65 64 2c 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 20 77 69 6c 6c 20 .supplied,.prepare/execute.will.
12020 62 65 20 75 73 65 64 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 69 73 20 be.used......*........with.this.
12040 61 72 72 61 79 20 61 73 20 65 78 65 63 75 74 65 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 array.as.execute.parameters.....
12060 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 66 65 74 63 68 6d 6f 64 65 20 74 68 65 .*.@param.integer.$fetchmode.the
12080 20 66 65 74 63 68 20 6d 6f 64 65 20 74 6f 20 75 73 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .fetch.mode.to.use......*......*
120a0 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 .@access.public......*.@return.a
120c0 72 72 61 79 20 61 6e 20 6e 65 73 74 65 64 20 61 72 72 61 79 2c 20 6f 72 20 61 20 44 42 20 65 72 rray.an.nested.array,.or.a.DB.er
120e0 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 67 65 74 41 6c ror......*/......function.&getAl
12100 6c 28 24 71 75 65 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 l($query,......................$
12120 70 61 72 61 6d 73 20 3d 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 params.=.null,..................
12140 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 ....$fetchmode.=.DB_FETCHMODE_DE
12160 46 41 55 4c 54 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 6d 70 61 74 20 63 FAULT).....{.........//.compat.c
12180 68 65 63 6b 2c 20 74 68 65 20 70 61 72 61 6d 73 20 61 6e 64 20 66 65 74 63 68 6d 6f 64 65 20 70 heck,.the.params.and.fetchmode.p
121a0 61 72 61 6d 65 74 65 72 73 20 75 73 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 2f 2f 20 68 61 76 arameters.used.to.........//.hav
121c0 65 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 72 64 65 72 0a 20 20 20 20 20 20 20 20 69 66 20 e.the.opposite.order.........if.
121e0 28 21 69 73 5f 61 72 72 61 79 28 24 70 61 72 61 6d 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 (!is_array($params)).{..........
12200 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 66 65 74 63 68 6d 6f 64 65 29 29 20 7b 0a 20 ...if.(is_array($fetchmode)).{..
12220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6d 70 20 3d 20 24 70 61 72 61 6d 73 3b 0a 20 ...............$tmp.=.$params;..
12240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 20 3d 20 24 66 65 74 63 68 6d ...............$params.=.$fetchm
12260 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 ode;.................$fetchmode.
12280 3d 20 24 74 6d 70 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 70 =.$tmp;.............}.elseif.($p
122a0 61 72 61 6d 73 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 arams.!==.null).{...............
122c0 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 70 61 72 61 6d 73 3b 0a 20 20 20 20 20 20 20 20 ..$fetchmode.=.$params;.........
122e0 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 ........$params.=.null;.........
12300 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 20 ....}.........}.........$params.
12320 3d 20 28 65 6d 70 74 79 28 24 70 61 72 61 6d 73 29 29 20 3f 20 61 72 72 61 79 28 29 20 3a 20 24 =.(empty($params)).?.array().:.$
12340 70 61 72 61 6d 73 3b 0a 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 28 65 6d params;.........$fetchmode.=.(em
12360 70 74 79 28 24 66 65 74 63 68 6d 6f 64 65 29 29 20 3f 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f pty($fetchmode)).?.DB_FETCHMODE_
12380 44 45 46 41 55 4c 54 20 3a 20 24 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 73 65 DEFAULT.:.$fetchmode;.........se
123a0 74 74 79 70 65 28 24 70 61 72 61 6d 73 2c 20 22 61 72 72 61 79 22 29 3b 0a 20 20 20 20 20 20 20 ttype($params,."array");........
123c0 20 69 66 20 28 73 69 7a 65 6f 66 28 24 70 61 72 61 6d 73 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 .if.(sizeof($params).>.0).{.....
123e0 20 20 20 20 20 20 20 20 24 73 74 68 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 28 24 71 ........$sth.=.$this->prepare($q
12400 75 65 72 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 uery);..............if.(DB::isEr
12420 72 6f 72 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 ror($sth)).{.................ret
12440 75 72 6e 20 24 73 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 urn.$sth;.............}.........
12460 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 73 74 68 2c .....$res.=.$this->execute($sth,
12480 20 24 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 .$params);.........}.else.{.....
124a0 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 24 71 75 65 ........$res.=.$this->query($que
124c0 72 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a ry);.........}..........if.(DB::
124e0 69 73 45 72 72 6f 72 28 24 72 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 isError($res)).{.............ret
12500 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 65 urn.$res;.........}..........$re
12520 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e sults.=.array();.........$this->
12540 70 75 73 68 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 54 pushErrorHandling(PEAR_ERROR_RET
12560 55 52 4e 29 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 44 42 5f 4f 4b 20 3d 3d 3d 20 24 URN);.........while.(DB_OK.===.$
12580 72 65 73 2d 3e 66 65 74 63 68 49 6e 74 6f 28 24 72 6f 77 2c 20 24 66 65 74 63 68 6d 6f 64 65 29 res->fetchInto($row,.$fetchmode)
125a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 26 ).{.............if.($fetchmode.&
125c0 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 46 4c 49 50 50 45 44 29 20 7b 0a 20 20 20 20 20 20 20 .DB_FETCHMODE_FLIPPED).{........
125e0 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 6b 65 79 20 3d .........foreach.($row.as.$key.=
12600 3e 20 24 76 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 >.$val).{.....................$r
12620 65 73 75 6c 74 73 5b 24 6b 65 79 5d 5b 5d 20 3d 20 24 76 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 esults[$key][].=.$val;..........
12640 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 .......}.............}.else.{...
12660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 24 72 6f 77 3b ..............$results[].=.$row;
12680 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .............}.........}........
126a0 20 24 74 68 69 73 2d 3e 70 6f 70 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 29 3b 0a 0a 20 20 20 .$this->popErrorHandling();.....
126c0 20 20 20 20 20 24 72 65 73 2d 3e 66 72 65 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 .....$res->free();..........if.(
126e0 69 73 73 65 74 28 24 73 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 isset($sth)).{.............$this
12700 2d 3e 66 72 65 65 52 65 73 75 6c 74 28 24 73 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ->freeResult($sth);.........}...
12720 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 6f 77 29 29 20 7b 0a 20 ......if.(DB::isError($row)).{..
12740 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 ...........return.$this->raiseEr
12760 72 6f 72 28 24 72 6f 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 ror($row);.........}.........ret
12780 75 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a urn.$results;.....}......//.}}}.
127a0 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 75 74 6f 43 6f 6d 6d 69 74 28 29 0a 20 20 20 20 2f 2a 2a 0a ....//.{{{.autoCommit()...../**.
127c0 20 20 20 20 2a 20 65 6e 61 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 20 43 6f 6d 6d 69 74 0a 20 20 ....*.enable.automatic.Commit...
127e0 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 65 61 6e 20 24 6f 6e 6f 66 66 0a ..*.....*.@param.boolean.$onoff.
12800 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 0a 20 20 20 ....*.@return.mixed.DB_Error....
12820 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 .*.....*.@access.public.....*/..
12840 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 43 6f 6d 6d 69 74 28 24 6f 6e 6f 66 66 3d 66 61 ...function.autoCommit($onoff=fa
12860 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d lse).....{.........return.$this-
12880 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 >raiseError(DB_ERROR_NOT_CAPABLE
128a0 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 );.....}......//.}}}.....//.{{{.
128c0 63 6f 6d 6d 69 74 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 73 74 61 72 74 73 20 61 20 commit()...../**.....*.starts.a.
128e0 43 6f 6d 6d 69 74 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 Commit.....*.....*.@return.mixed
12900 20 44 42 5f 45 72 72 6f 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 .DB_Error.....*.....*.@access.pu
12920 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 69 74 28 blic.....*/.....function.commit(
12940 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 ).....{.........return.$this->ra
12960 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a iseError(DB_ERROR_NOT_CAPABLE);.
12980 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 72 6f 6c ....}......//.}}}.....//.{{{.rol
129a0 6c 62 61 63 6b 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 73 74 61 72 74 73 20 61 20 72 lback()...../**.....*.starts.a.r
129c0 6f 6c 6c 62 61 63 6b 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 ollback.....*.....*.@return.mixe
129e0 64 20 44 42 5f 45 72 72 6f 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 d.DB_Error.....*.....*.@access.p
12a00 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 ublic.....*/.....function.rollba
12a20 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d ck().....{.........return.$this-
12a40 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 >raiseError(DB_ERROR_NOT_CAPABLE
12a60 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 );.....}......//.}}}.....//.{{{.
12a80 6e 75 6d 52 6f 77 73 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 72 65 74 75 72 6e 73 20 numRows()...../**.....*.returns.
12aa0 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 69 6e 20 61 20 72 65 73 75 6c 74 20 6f the.number.of.rows.in.a.result.o
12ac0 62 6a 65 63 74 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6f 62 6a 65 63 74 20 bject.....*.....*.@param.object.
12ae0 44 42 5f 52 65 73 75 6c 74 20 74 68 65 20 72 65 73 75 6c 74 20 6f 62 6a 65 63 74 20 74 6f 20 63 DB_Result.the.result.object.to.c
12b00 68 65 63 6b 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 heck.....*.....*.@return.mixed.D
12b20 42 5f 45 72 72 6f 72 20 6f 72 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 0a 20 20 B_Error.or.the.number.of.rows...
12b40 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a ..*.....*.@access.public.....*/.
12b60 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 ....function.numRows($result)...
12b80 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 ..{.........return.$this->raiseE
12ba0 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 rror(DB_ERROR_NOT_CAPABLE);.....
12bc0 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 66 66 65 63 74 65 }......//.}}}.....//.{{{.affecte
12be0 64 52 6f 77 73 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 72 65 74 75 72 6e 73 20 74 68 dRows()...../**.....*.returns.th
12c00 65 20 61 66 66 65 63 74 65 64 20 72 6f 77 73 20 6f 66 20 61 20 71 75 65 72 79 0a 20 20 20 20 2a e.affected.rows.of.a.query.....*
12c20 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 20 6f 72 .....*.@return.mixed.DB_Error.or
12c40 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 .number.of.rows.....*.....*.@acc
12c60 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 ess.public.....*/.....function.a
12c80 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 ffectedRows().....{.........retu
12ca0 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f rn.$this->raiseError(DB_ERROR_NO
12cc0 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 T_CAPABLE);.....}......//.}}}...
12ce0 20 20 2f 2f 20 7b 7b 7b 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 ..//.{{{.errorNative()...../**..
12d00 20 20 20 2a 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 6d 65 73 73 61 67 65 2c 20 70 72 ...*.returns.an.errormessage,.pr
12d20 6f 76 69 64 65 73 20 62 79 20 74 68 65 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 2a 0a 20 20 20 ovides.by.the.database.....*....
12d40 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 20 6f 72 20 6d 65 73 .*.@return.mixed.DB_Error.or.mes
12d60 73 61 67 65 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a sage.....*.....*.@access.public.
12d80 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 4e 61 74 69 76 65 28 ....*/.....function.errorNative(
12da0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 ).....{.........return.$this->ra
12dc0 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a iseError(DB_ERROR_NOT_CAPABLE);.
12de0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 ....}......//.}}}.....//.{{{.nex
12e00 74 49 64 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 72 65 74 75 72 6e 73 20 74 68 65 20 tId()...../**.....*.returns.the.
12e20 6e 65 78 74 20 66 72 65 65 20 69 64 20 6f 66 20 61 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 2a next.free.id.of.a.sequence.....*
12e40 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 24 73 65 71 5f 6e 61 6d 65 20 .....*.@param.string..$seq_name.
12e60 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 2a 20 40 70 61 72 61 name.of.the.sequence.....*.@para
12e80 6d 20 62 6f 6f 6c 65 61 6e 20 24 6f 6e 64 65 6d 61 6e 64 20 77 68 65 6e 20 74 72 75 65 20 74 68 m.boolean.$ondemand.when.true.th
12ea0 65 20 73 65 71 65 6e 63 65 20 69 73 0a 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.seqence.is.....*..............
12ec0 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69 63 20 63 72 65 61 74 65 64 2c 20 69 ............automatic.created,.i
12ee0 66 20 69 74 0a 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.it.....*......................
12f00 20 20 20 20 6e 6f 74 20 65 78 69 73 74 73 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 ....not.exists.....*.....*.@retu
12f20 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 20 6f 72 20 69 64 0a 20 20 20 20 2a 2f 0a 20 rn.mixed.DB_Error.or.id.....*/..
12f40 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 24 73 65 71 5f 6e 61 6d 65 2c 20 24 6f ...function.nextId($seq_name,.$o
12f60 6e 64 65 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 ndemand.=.true).....{.........re
12f80 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f turn.$this->raiseError(DB_ERROR_
12fa0 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a NOT_CAPABLE);.....}......//.}}}.
12fc0 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 29 0a 20 20 20 20 ....//.{{{.createSequence().....
12fe0 2f 2a 2a 0a 20 20 20 20 2a 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 73 65 71 75 65 6e 63 65 /**.....*.creates.a.new.sequence
13000 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 65 71 5f .....*.....*.@param.string.$seq_
13020 6e 61 6d 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 65 77 20 73 65 71 75 65 6e 63 65 0a 20 20 name.name.of.the.new.sequence...
13040 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 ..*.....*.@return.mixed.DB_Error
13060 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 .....*.....*.@access.public.....
13080 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 */.....function.createSequence($
130a0 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 seq_name).....{.........return.$
130c0 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 this->raiseError(DB_ERROR_NOT_CA
130e0 50 41 42 4c 45 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f PABLE);.....}......//.}}}.....//
13100 20 7b 7b 7b 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 .{{{.dropSequence()...../**.....
13120 2a 20 64 65 6c 65 74 65 73 20 61 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 2a 0a 20 20 20 20 2a *.deletes.a.sequence.....*.....*
13140 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 65 71 5f 6e 61 6d 65 20 6e 61 6d 65 20 6f 66 .@param.string.$seq_name.name.of
13160 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 .the.sequence.....*.....*.@retur
13180 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 n.mixed.DB_Error.....*.....*.@ac
131a0 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 cess.public.....*/.....function.
131c0 64 72 6f 70 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 dropSequence($seq_name).....{...
131e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 ......return.$this->raiseError(D
13200 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 B_ERROR_NOT_CAPABLE);.....}.....
13220 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 74 61 62 6c 65 49 6e 66 6f 28 29 0a 20 .//.}}}.....//.{{{.tableInfo()..
13240 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 72 65 74 75 72 6e 73 20 6d 65 74 61 20 64 61 74 61 20 61 .../**.....*.returns.meta.data.a
13260 62 6f 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 73 65 74 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 bout.the.result.set.....*.....*.
13280 40 70 61 72 61 6d 20 6f 62 6a 65 63 74 20 44 42 5f 52 65 73 75 6c 74 20 24 72 65 73 75 6c 74 20 @param.object.DB_Result.$result.
132a0 74 68 65 20 72 65 73 75 6c 74 20 6f 62 6a 65 63 74 20 74 6f 20 61 6e 61 6c 79 73 65 0a 20 20 20 the.result.object.to.analyse....
132c0 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 24 6d 6f 64 65 20 64 65 70 65 6e 64 73 20 6f 6e .*.@param.mixed.$mode.depends.on
132e0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 .implementation.....*.....*.@ret
13300 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 urn.mixed.DB_Error.....*.....*.@
13320 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f access.public.....*/.....functio
13340 6e 20 74 61 62 6c 65 49 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c n.tableInfo($result,.$mode.=.nul
13360 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 l).....{.........return.$this->r
13380 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b aiseError(DB_ERROR_NOT_CAPABLE);
133a0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 .....}......//.}}}.....//.{{{.ge
133c0 74 54 61 62 6c 65 73 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 40 64 65 70 72 65 63 61 tTables()...../**.....*.@depreca
133e0 74 65 64 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 62 6c 65 ted.....*/.....function.getTable
13400 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e s().....{.........return.$this->
13420 67 65 74 4c 69 73 74 4f 66 28 27 74 61 62 6c 65 73 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 getListOf('tables');.....}......
13440 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 4c 69 73 74 4f 66 28 29 0a 20 20 //.}}}.....//.{{{.getListOf()...
13460 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 6c 69 73 74 20 69 6e 74 65 72 6e 61 6c 20 44 42 20 69 6e 66 ../**.....*.list.internal.DB.inf
13480 6f 0a 20 20 20 20 2a 20 76 61 6c 69 64 20 76 61 6c 75 65 73 20 66 6f 72 20 24 74 79 70 65 20 61 o.....*.valid.values.for.$type.a
134a0 72 65 20 64 62 20 64 65 70 65 6e 64 65 6e 74 2c 0a 20 20 20 20 2a 20 6f 66 74 65 6e 3a 20 64 61 re.db.dependent,.....*.often:.da
134c0 74 61 62 61 73 65 73 2c 20 75 73 65 72 73 2c 20 76 69 65 77 2c 20 66 75 6e 63 74 69 6f 6e 73 0a tabases,.users,.view,.functions.
134e0 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 70 65 20 ....*.....*.@param.string.$type.
13500 74 79 70 65 20 6f 66 20 72 65 71 75 65 73 74 65 64 20 69 6e 66 6f 0a 20 20 20 20 2a 0a 20 20 20 type.of.requested.info.....*....
13520 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 20 6f 72 20 74 68 65 .*.@return.mixed.DB_Error.or.the
13540 20 72 65 71 75 65 73 74 65 64 20 64 61 74 61 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 63 .requested.data.....*.....*.@acc
13560 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 ess.public.....*/.....function.g
13580 65 74 4c 69 73 74 4f 66 28 24 74 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 etListOf($type).....{.........$s
135a0 71 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 ql.=.$this->getSpecialQuery($typ
135c0 65 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 73 71 6c 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b e);.........if.($sql.===.null).{
135e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13600 2f 2f 20 4e 6f 20 73 75 70 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e //.No.support.............return
13620 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 55 4e 53 55 .$this->raiseError(DB_ERROR_UNSU
13640 50 50 4f 52 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 69 PPORTED);.........}.elseif.(is_i
13660 6e 74 28 24 73 71 6c 29 20 7c 7c 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 73 71 6c 29 29 20 7b nt($sql).||.DB::isError($sql)).{
13680 20 20 20 20 20 20 2f 2f 20 50 72 65 76 69 6f 75 73 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 ......//.Previous.error.........
136a0 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 73 71 ....return.$this->raiseError($sq
136c0 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 l);.........}.elseif.(is_array($
136e0 73 71 6c 29 29 20 7b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sql)).{.........................
13700 2f 2f 20 41 6c 72 65 61 64 79 20 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 //.Already.the.result...........
13720 20 20 72 65 74 75 72 6e 20 24 73 71 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ..return.$sql;.........}........
13740 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 28 24 73 71 6c 29 3b 20 20 20 20 .return.$this->getCol($sql);....
13760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4c 61 75 6e 63 68 20 74 .....................//.Launch.t
13780 68 69 73 20 71 75 65 72 79 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f his.query.....}.....//.}}}...../
137a0 2f 20 7b 7b 7b 20 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 29 0a 0a 20 20 20 20 66 75 6e /.{{{.getSequenceName()......fun
137c0 63 74 69 6f 6e 20 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 71 6e 29 0a 20 20 20 20 ction.getSequenceName($sqn).....
137e0 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e {.........return.sprintf($this->
13800 67 65 74 4f 70 74 69 6f 6e 28 22 73 65 71 6e 61 6d 65 5f 66 6f 72 6d 61 74 22 29 2c 0a 20 20 20 getOption("seqname_format"),....
13820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 67 5f 72 65 70 6c 61 63 65 ....................preg_replace
13840 28 27 2f 5b 5e 61 2d 7a 30 2d 39 5f 5d 2f 69 27 2c 20 27 5f 27 2c 20 24 73 71 6e 29 29 3b 0a 20 ('/[^a-z0-9_]/i',.'_',.$sqn));..
13860 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 7d 0a 0a 2f 2f 20 55 73 65 64 20 62 79 20 6d ...}......//.}}}.}..//.Used.by.m
13880 61 6e 79 20 64 72 69 76 65 72 73 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 any.drivers.if.(!function_exists
138a0 28 27 61 72 72 61 79 5f 63 68 61 6e 67 65 5f 6b 65 79 5f 63 61 73 65 27 29 29 20 7b 0a 20 20 20 ('array_change_key_case')).{....
138c0 20 64 65 66 69 6e 65 28 27 43 41 53 45 5f 55 50 50 45 52 27 2c 20 31 29 3b 0a 20 20 20 20 64 65 .define('CASE_UPPER',.1);.....de
138e0 66 69 6e 65 28 27 43 41 53 45 5f 4c 4f 57 45 52 27 2c 20 30 29 3b 0a 20 20 20 20 66 75 6e 63 74 fine('CASE_LOWER',.0);.....funct
13900 69 6f 6e 20 26 61 72 72 61 79 5f 63 68 61 6e 67 65 5f 6b 65 79 5f 63 61 73 65 28 26 24 61 72 72 ion.&array_change_key_case(&$arr
13920 61 79 2c 20 24 63 61 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 24 63 61 73 65 66 75 6e 63 20 3d ay,.$case).{.........$casefunc.=
13940 20 28 24 63 61 73 65 20 3d 3d 20 43 41 53 45 5f 4c 4f 57 45 52 29 20 3f 20 27 73 74 72 74 6f 6c .($case.==.CASE_LOWER).?.'strtol
13960 6f 77 65 72 27 20 3a 20 27 73 74 72 74 6f 75 70 70 65 72 27 3b 0a 20 20 20 20 20 20 20 20 24 72 ower'.:.'strtoupper';.........$r
13980 65 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 et.=.array();.........foreach.($
139a0 61 72 72 61 79 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 array.as.$key.=>.$value).{......
139c0 20 20 20 20 20 20 20 24 72 65 74 5b 24 63 61 73 65 66 75 6e 63 28 24 6b 65 79 29 5d 20 3d 20 24 .......$ret[$casefunc($key)].=.$
139e0 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 value;.........}.........return.
13a00 24 72 65 74 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 $ret;.....}.}..?>...............
13a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c00 44 42 2d 31 2e 33 2f 44 42 2f 64 62 61 73 65 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/dbase.php.............
13c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
13c80 20 20 20 37 31 35 37 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 37 35 37 20 00 00 00 00 00 ...7157..7466465701...6757......
13ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e00 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
13e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
13e60 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
13e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
13ea0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
13ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
13f00 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
13f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
13f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13f80 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
13fa0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
13fc0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
13fe0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
14000 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
14020 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
14040 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
14060 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
14080 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
140a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
140c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
140e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
14100 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
14120 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
14140 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
14160 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
14180 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
141a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
141c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
141e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 54 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 20 ---+.//.|.Author:.Tomas.V.V.Cox.
14200 3c 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <cox@idecnet.com>...............
14220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
14240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
14260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
14280 2f 2f 20 24 49 64 3a 20 64 62 61 73 65 2e 70 68 70 2c 76 20 31 2e 31 20 32 30 30 32 2f 30 35 2f //.$Id:.dbase.php,v.1.1.2002/05/
142a0 30 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 09.12:29:53.ssb.Exp.$.//.//.Data
142c0 62 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 base.independent.query.interface
142e0 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 64 62 61 73 65 0a 2f 2f 20 65 .definition.for.PHP's.dbase.//.e
14300 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 2f 2f 20 58 58 58 20 6c 65 67 65 6e 64 3a 0a 2f 2f 20 20 xtension..//.//.XXX.legend:.//..
14320 59 6f 75 20 68 61 76 65 20 74 6f 20 63 6f 6d 70 69 6c 65 20 79 6f 75 72 20 50 48 50 20 77 69 74 You.have.to.compile.your.PHP.wit
14340 68 20 74 68 65 20 2d 2d 65 6e 61 62 6c 65 2d 64 62 61 73 65 20 6f 70 74 69 6f 6e 0a 2f 2f 0a 0a h.the.--enable-dbase.option.//..
14360 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 22 3b 0a 0a 63 require_once."DB/common.php";..c
14380 6c 61 73 73 20 44 42 5f 64 62 61 73 65 20 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a lass.DB_dbase.extends.DB_common.
143a0 7b 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 6f 70 65 72 74 69 65 73 0a 0a 20 20 20 20 76 61 72 {.....//.{{{.properties......var
143c0 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 .$connection;.....var.$phptype,.
143e0 24 64 62 73 79 6e 74 61 78 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 6f 6b 65 $dbsyntax;.....var.$prepare_toke
14400 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 ns.=.array();.....var.$prepare_t
14420 79 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 74 72 61 6e 73 61 63 ypes.=.array();.....var.$transac
14440 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 76 61 72 20 24 72 65 73 5f 72 tion_opcount.=.0;.....var.$res_r
14460 6f 77 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 72 65 73 75 6c 74 20 3d 20 ow.=.array();.....var.$result.=.
14480 30 3b 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 0;......//.}}}.....//.{{{.constr
144a0 75 63 74 6f 72 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 42 5f 6d 79 73 71 6c 20 63 uctor....../**......*.DB_mysql.c
144c0 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 onstructor.......*......*.@acces
144e0 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 s.public......*/......function.D
14500 42 5f 64 62 61 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 B_dbase().....{.........$this->D
14520 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 B_common();.........$this->phpty
14540 70 65 20 3d 20 27 64 62 61 73 65 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 pe.=.'dbase';.........$this->dbs
14560 79 6e 74 61 78 20 3d 20 27 64 62 61 73 65 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e yntax.=.'dbase';.........$this->
14580 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 features.=.array(.............'p
145a0 72 65 70 61 72 65 27 20 20 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 repare'.......=>.false,.........
145c0 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 ....'pconnect'......=>.false,...
145e0 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 20 3d 3e 20 66 61 6c ..........'transactions'..=>.fal
14600 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 20 20 20 20 20 20 20 20 se,.............'limit'.........
14620 3d 3e 20 66 61 6c 73 65 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =>.false.........);.........$thi
14640 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 s->errorcode_map.=.array();.....
14660 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f }......function.connect($dsninfo
14680 2c 20 24 70 65 72 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 ,.$persistent.=.false).....{....
146a0 20 20 20 20 20 69 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 64 .....if.(!DB::assertExtension('d
146c0 62 61 73 65 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 base')).{.............return.$th
146e0 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 4f is->raiseError(DB_ERROR_EXTENSIO
14700 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 N_NOT_FOUND);.........}.........
14720 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 24 64 73 6e 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 6f $this->dsn.=.$dsninfo;.........o
14740 62 5f 73 74 61 72 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 20 3d 20 64 62 61 73 b_start();.........$conn..=.dbas
14760 65 5f 6f 70 65 6e 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 2c 20 30 29 3b e_open($dsninfo['database'],.0);
14780 0a 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 3d 20 6f 62 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 .........$error.=.ob_get_content
147a0 73 28 29 3b 0a 20 20 20 20 20 20 20 20 6f 62 5f 65 6e 64 5f 63 6c 65 61 6e 28 29 3b 0a 20 20 20 s();.........ob_end_clean();....
147c0 20 20 20 20 20 69 66 20 28 21 24 63 6f 6e 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 .....if.(!$conn).{.............r
147e0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 eturn.$this->raiseError(DB_ERROR
14800 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 _CONNECT_FAILED,.null,..........
14820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c ............................null
14840 2c 20 6e 75 6c 6c 2c 20 73 74 72 69 70 5f 74 61 67 73 28 24 65 72 72 6f 72 29 29 3b 0a 20 20 20 ,.null,.strip_tags($error));....
14860 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e .....}.........$this->connection
14880 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a .=.$conn;.........return.DB_OK;.
148a0 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 ....}......function.disconnect()
148c0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 64 62 61 73 65 5f 63 6c 6f 73 .....{.........$ret.=.dbase_clos
148e0 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 74 e($this->connection);.........$t
14900 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 his->connection.=.null;.........
14920 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e return.$ret;.....}......function
14940 20 26 71 75 65 72 79 28 24 71 75 65 72 79 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 .&query($query.=.null).....{....
14960 20 20 20 20 20 2f 2f 20 65 6d 75 6c 61 74 65 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 73 .....//.emulate.result.resources
14980 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 73 5f 72 6f 77 5b 24 74 68 69 73 2d 3e 72 .........$this->res_row[$this->r
149a0 65 73 75 6c 74 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 44 esult].=.0;.........return.new.D
149c0 42 5f 72 65 73 75 6c 74 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e 72 65 73 75 6c 74 2b 2b 29 B_result($this,.$this->result++)
149e0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 ;.....}......function.fetchInto(
14a00 24 72 65 73 2c 20 26 24 72 6f 77 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d $res,.&$row,.$fetchmode,.$rownum
14a20 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 6e .=.null).....{.........if.($rown
14a40 75 6d 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 6e um.===.null).{.............$rown
14a60 75 6d 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 5f 72 6f 77 5b 24 72 65 73 5d 2b 2b 3b 0a 20 20 20 um.=.$this->res_row[$res]++;....
14a80 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 26 20 .....}.........if.($fetchmode.&.
14aa0 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 DB_FETCHMODE_ASSOC).{...........
14ac0 20 20 24 72 6f 77 20 3d 20 40 64 62 61 73 65 5f 67 65 74 5f 72 65 63 6f 72 64 5f 77 69 74 68 5f ..$row.=.@dbase_get_record_with_
14ae0 6e 61 6d 65 73 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 72 6f 77 6e 75 6d names($this->connection,.$rownum
14b00 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 );.........}.else.{.............
14b20 24 72 6f 77 20 3d 20 40 64 62 61 73 65 5f 67 65 74 5f 72 65 63 6f 72 64 28 24 74 68 69 73 2d 3e $row.=.@dbase_get_record($this->
14b40 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a connection,.$rownum);.........}.
14b60 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 6f 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ........if.(!$row).{............
14b80 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 .return.null;.........}.........
14ba0 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f return.DB_OK;.....}......functio
14bc0 6e 20 6e 75 6d 43 6f 6c 73 28 24 66 6f 6f 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 n.numCols($foo).....{.........re
14be0 74 75 72 6e 20 64 62 61 73 65 5f 6e 75 6d 66 69 65 6c 64 73 28 24 74 68 69 73 2d 3e 63 6f 6e 6e turn.dbase_numfields($this->conn
14c00 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d ection);.....}......function.num
14c20 52 6f 77 73 28 24 66 6f 6f 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 Rows($foo).....{.........return.
14c40 64 62 61 73 65 5f 6e 75 6d 72 65 63 6f 72 64 73 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 dbase_numrecords($this->connecti
14c60 6f 6e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 on);.....}.}.?>.................
14c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e00 44 42 2d 31 2e 33 2f 44 42 2f 66 62 73 71 6c 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/fbsql.php.............
14e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
14e80 20 20 34 32 36 30 37 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 30 32 37 20 00 00 00 00 00 ..42607..7466465701...7027......
14ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15000 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
15020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
15040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
15060 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
15080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
150a0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
150c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
150e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
15100 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
15120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
15140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
15160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
15180 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
151a0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
151c0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
151e0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
15200 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
15220 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
15240 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
15260 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
15280 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
152a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
152c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
152e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
15300 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
15320 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
15340 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
15360 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
15380 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
153a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
153c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
153e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 46 72 61 6e 6b 20 4d 2e 20 4b 72 6f 6d 61 ---+.//.|.Author:.Frank.M..Kroma
15400 6e 6e 20 3c 66 72 61 6e 6b 40 66 72 6f 6e 74 62 61 73 65 2e 63 6f 6d 3e 20 20 20 20 20 20 20 20 nn.<frank@frontbase.com>........
15420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
15440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
15460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
15480 2f 2f 20 24 49 64 3a 20 66 62 73 71 6c 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f //.$Id:.fbsql.php,v.1.3.2002/05/
154a0 30 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 09.12:29:53.ssb.Exp.$.//.//.Data
154c0 62 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 base.independent.query.interface
154e0 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 46 72 6f 6e 74 42 61 73 65 0a .definition.for.PHP's.FrontBase.
15500 2f 2f 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 2f 2f 0a 2f 2f 20 58 58 58 20 6c 65 67 65 //.extension..//..//.//.XXX.lege
15520 6e 64 3a 0a 2f 2f 0a 2f 2f 20 58 58 58 20 45 52 52 4f 52 4d 53 47 3a 20 54 68 65 20 65 72 72 6f nd:.//.//.XXX.ERRORMSG:.The.erro
15540 72 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 74 68 65 20 66 62 73 71 6c 20 66 75 6e 63 74 69 6f r.message.from.the.fbsql.functio
15560 6e 20 73 68 6f 75 6c 64 0a 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 20 72 65 67 n.should.//...............be.reg
15580 69 73 74 65 72 65 64 20 68 65 72 65 2e 0a 2f 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 istered.here..//..require_once."
155a0 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 22 3b 0a 0a 63 6c 61 73 73 20 44 42 5f 66 62 73 71 6c 20 DB/common.php";..class.DB_fbsql.
155c0 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 extends.DB_common.{.....//.{{{.p
155e0 72 6f 70 65 72 74 69 65 73 0a 0a 20 20 20 20 76 61 72 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a roperties......var.$connection;.
15600 20 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 24 64 62 73 79 6e 74 61 78 3b 0a 20 20 20 ....var.$phptype,.$dbsyntax;....
15620 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a .var.$prepare_tokens.=.array();.
15640 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 29 ....var.$prepare_types.=.array()
15660 3b 0a 20 20 20 20 76 61 72 20 24 6e 75 6d 5f 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 ;.....var.$num_rows.=.array();..
15680 20 20 20 76 61 72 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 ...var.$fetchmode.=.DB_FETCHMODE
156a0 5f 4f 52 44 45 52 45 44 3b 20 2f 2a 20 44 65 66 61 75 6c 74 20 66 65 74 63 68 20 6d 6f 64 65 20 _ORDERED;./*.Default.fetch.mode.
156c0 2a 2f 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 */......//.}}}.....//.{{{.constr
156e0 75 63 74 6f 72 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 42 5f 66 62 73 71 6c 20 63 uctor....../**......*.DB_fbsql.c
15700 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 onstructor.......*......*.@acces
15720 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 s.public......*/......function.D
15740 42 5f 66 62 73 71 6c 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 B_fbsql().....{.........$this->D
15760 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 B_common();.........$this->phpty
15780 70 65 20 3d 20 27 66 62 73 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 pe.=.'fbsql';.........$this->dbs
157a0 79 6e 74 61 78 20 3d 20 27 66 62 73 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e yntax.=.'fbsql';.........$this->
157c0 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 features.=.array(.............'p
157e0 72 65 70 61 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 repare'.=>.false,.............'p
15800 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 connect'.=>.true,.............'t
15820 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 ransactions'.=>.true,...........
15840 20 20 27 6c 69 6d 69 74 27 20 3d 3e 20 27 65 6d 75 6c 61 74 65 27 0a 20 20 20 20 20 20 20 20 29 ..'limit'.=>.'emulate'.........)
15860 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 20 3d ;.........$this->errorcode_map.=
15880 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 34 20 3d 3e 20 44 42 5f 45 .array(.............1004.=>.DB_E
158a0 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 43 52 45 41 54 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 RROR_CANNOT_CREATE,.............
158c0 31 30 30 35 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 43 52 45 41 54 45 2c 0a 1005.=>.DB_ERROR_CANNOT_CREATE,.
158e0 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 36 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e ............1006.=>.DB_ERROR_CAN
15900 4e 4f 54 5f 43 52 45 41 54 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 37 20 3d 3e 20 NOT_CREATE,.............1007.=>.
15920 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 DB_ERROR_ALREADY_EXISTS,........
15940 20 20 20 20 20 31 30 30 38 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 44 52 4f .....1008.=>.DB_ERROR_CANNOT_DRO
15960 50 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 34 36 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f P,.............1046.=>.DB_ERROR_
15980 4e 4f 44 42 53 45 4c 45 43 54 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 35 30 20 3d NODBSELECTED,.............1050.=
159a0 3e 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 >.DB_ERROR_ALREADY_EXISTS,......
159c0 20 20 20 20 20 20 20 31 30 35 31 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 .......1051.=>.DB_ERROR_NOSUCHTA
159e0 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 35 34 20 3d 3e 20 44 42 5f 45 52 52 4f BLE,.............1054.=>.DB_ERRO
15a00 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 36 32 20 R_NOSUCHFIELD,.............1062.
15a20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 =>.DB_ERROR_ALREADY_EXISTS,.....
15a40 20 20 20 20 20 20 20 20 31 30 36 34 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c ........1064.=>.DB_ERROR_SYNTAX,
15a60 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 31 30 30 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f .............1100.=>.DB_ERROR_NO
15a80 54 5f 4c 4f 43 4b 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 31 33 36 20 3d 3e 20 44 42 T_LOCKED,.............1136.=>.DB
15aa0 5f 45 52 52 4f 52 5f 56 41 4c 55 45 5f 43 4f 55 4e 54 5f 4f 4e 5f 52 4f 57 2c 0a 20 20 20 20 20 _ERROR_VALUE_COUNT_ON_ROW,......
15ac0 20 20 20 20 20 20 20 31 31 34 36 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 .......1146.=>.DB_ERROR_NOSUCHTA
15ae0 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d BLE,.........);.....}......//.}}
15b00 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 2f 2a 2a }......//.{{{.connect()....../**
15b20 0a 20 20 20 20 20 2a 20 43 6f 6e 6e 65 63 74 20 74 6f 20 61 20 64 61 74 61 62 61 73 65 20 61 6e ......*.Connect.to.a.database.an
15b40 64 20 6c 6f 67 20 69 6e 20 61 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 75 73 65 72 2e 0a d.log.in.as.the.specified.user..
15b60 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 64 73 6e 20 74 68 65 20 64 61 .....*......*.@param.$dsn.the.da
15b80 74 61 20 73 6f 75 72 63 65 20 6e 61 6d 65 20 28 73 65 65 20 44 42 3a 3a 70 61 72 73 65 44 53 4e ta.source.name.(see.DB::parseDSN
15ba0 20 66 6f 72 20 73 79 6e 74 61 78 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 70 65 72 73 .for.syntax)......*.@param.$pers
15bc0 69 73 74 65 6e 74 20 28 6f 70 74 69 6f 6e 61 6c 29 20 77 68 65 74 68 65 72 20 74 68 65 20 63 6f istent.(optional).whether.the.co
15be0 6e 6e 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 62 65 nnection.should......*........be
15c00 20 70 65 72 73 69 73 74 65 6e 74 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 .persistent......*.@access.publi
15c20 63 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 c......*.@return.int.DB_OK.on.su
15c40 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 ccess,.a.DB.error.on.failure....
15c60 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 ..*/......function.connect($dsni
15c80 6e 66 6f 2c 20 24 70 65 72 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a nfo,.$persistent.=.false).....{.
15ca0 20 20 20 20 20 20 20 20 69 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e ........if.(!DB::assertExtension
15cc0 28 27 66 62 73 71 6c 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 ('fbsql')).............return.$t
15ce0 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 his->raiseError(DB_ERROR_EXTENSI
15d00 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 ON_NOT_FOUND);..........$this->d
15d20 73 6e 20 3d 20 24 64 73 6e 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 24 64 62 68 6f 73 74 20 3d sn.=.$dsninfo;.........$dbhost.=
15d40 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3f 20 24 64 73 6e 69 6e 66 6f .$dsninfo['hostspec'].?.$dsninfo
15d60 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3a 20 27 6c 6f 63 61 6c 68 6f 73 74 27 3b 0a 20 20 20 20 ['hostspec'].:.'localhost';.....
15d80 20 20 20 20 24 75 73 65 72 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d ....$user.=.$dsninfo['username']
15da0 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f ;.........$pw.=.$dsninfo['passwo
15dc0 72 64 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e rd'];..........$connect_function
15de0 20 3d 20 24 70 65 72 73 69 73 74 65 6e 74 20 3f 20 27 66 62 73 71 6c 5f 70 63 6f 6e 6e 65 63 74 .=.$persistent.?.'fbsql_pconnect
15e00 27 20 3a 20 27 66 62 73 71 6c 5f 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 69 6e '.:.'fbsql_connect';..........in
15e20 69 5f 73 65 74 28 27 74 72 61 63 6b 5f 65 72 72 6f 72 73 27 2c 20 74 72 75 65 29 3b 0a 20 20 20 i_set('track_errors',.true);....
15e40 20 20 20 20 20 69 66 20 28 24 64 62 68 6f 73 74 20 26 26 20 24 75 73 65 72 20 26 26 20 24 70 77 .....if.($dbhost.&&.$user.&&.$pw
15e60 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 ).{.............$conn.=.@$connec
15e80 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 2c 20 24 75 73 65 72 2c 20 24 70 77 29 3b t_function($dbhost,.$user,.$pw);
15ea0 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 62 68 6f 73 74 20 26 26 20 24 75 .........}.elseif.($dbhost.&&.$u
15ec0 73 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e ser).{.............$conn.=.@$con
15ee0 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 2c 20 24 75 73 65 72 29 3b 0a 20 nect_function($dbhost,.$user);..
15f00 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 62 68 6f 73 74 29 20 7b 0a 20 20 20 20 .......}.elseif.($dbhost).{.....
15f20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 ........$conn.=.@$connect_functi
15f40 6f 6e 28 24 64 62 68 6f 73 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 on($dbhost);.........}.else.{...
15f60 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 ..........$conn.=.false;........
15f80 20 7d 0a 20 20 20 20 20 20 20 20 69 6e 69 5f 72 65 73 74 6f 72 65 28 22 74 72 61 63 6b 5f 65 72 .}.........ini_restore("track_er
15fa0 72 6f 72 73 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 63 6f 6e 6e 29 rors");.........if.(empty($conn)
15fc0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 70 68 70 5f 65 ).{.............if.(empty($php_e
15fe0 72 72 6f 72 6d 73 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 rrormsg)).{.................retu
16000 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f rn.$this->raiseError(DB_ERROR_CO
16020 4e 4e 45 43 54 5f 46 41 49 4c 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 NNECT_FAILED);.............}.els
16040 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 e.{.................return.$this
16060 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 ->raiseError(DB_ERROR_CONNECT_FA
16080 49 4c 45 44 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ILED,.null,.null,...............
160a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c ...........................null,
160c0 20 24 70 68 70 5f 65 72 72 6f 72 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .$php_errormsg);.............}..
160e0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 73 6e 69 6e 66 6f 5b 27 .......}..........if.($dsninfo['
16100 64 61 74 61 62 61 73 65 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 66 database']).{.............if.(!f
16120 62 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 bsql_select_db($dsninfo['databas
16140 65 27 5d 2c 20 24 63 6f 6e 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 e'],.$conn)).{.................r
16160 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 62 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a eturn.$this->fbsqlRaiseError();.
16180 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ............}.........}.........
161a0 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 .$this->connection.=.$conn;.....
161c0 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 ....return.DB_OK;.....}......//.
161e0 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 }}}.....//.{{{.disconnect().....
16200 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 67 20 6f 75 74 20 61 6e 64 20 64 69 73 63 6f 6e 6e 65 ./**......*.Log.out.and.disconne
16220 63 74 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ct.from.the.database.......*....
16240 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ..*.@access.public......*......*
16260 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 46 .@return.bool.TRUE.on.success,.F
16280 41 4c 53 45 20 69 66 20 6e 6f 74 20 63 6f 6e 6e 65 63 74 65 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 ALSE.if.not.connected.......*/..
162a0 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 7b 0a 20 ...function.disconnect().....{..
162c0 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 66 62 73 71 6c 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d .......$ret.=.fbsql_close($this-
162e0 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e >connection);.........$this->con
16300 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 nection.=.null;.........return.$
16320 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b ret;.....}......//.}}}.....//.{{
16340 7b 20 73 69 6d 70 6c 65 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 {.simpleQuery()....../**......*.
16360 53 65 6e 64 20 61 20 71 75 65 72 79 20 74 6f 20 66 62 73 71 6c 20 61 6e 64 20 72 65 74 75 72 6e Send.a.query.to.fbsql.and.return
16380 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 73 20 61 20 66 62 73 71 6c 20 72 65 73 6f 75 72 63 65 .the.results.as.a.fbsql.resource
163a0 0a 20 20 20 20 20 2a 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ......*.identifier.......*......
163c0 2a 20 40 70 61 72 61 6d 20 74 68 65 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 *.@param.the.SQL.query......*...
163e0 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ...*.@access.public......*......
16400 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 69 64 20 *.@return.mixed.returns.a.valid.
16420 66 62 73 71 6c 20 72 65 73 75 6c 74 20 66 6f 72 20 73 75 63 63 65 73 73 66 75 6c 20 53 45 4c 45 fbsql.result.for.successful.SELE
16440 43 54 0a 20 20 20 20 20 2a 20 71 75 65 72 69 65 73 2c 20 44 42 5f 4f 4b 20 66 6f 72 20 6f 74 68 CT......*.queries,.DB_OK.for.oth
16460 65 72 20 73 75 63 63 65 73 73 66 75 6c 20 71 75 65 72 69 65 73 2e 20 20 41 20 44 42 20 65 72 72 er.successful.queries...A.DB.err
16480 6f 72 20 69 73 0a 20 20 20 20 20 2a 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 or.is......*.returned.on.failure
164a0 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 65 51 75 65 .......*/.....function.simpleQue
164c0 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ry($query).....{.........$this->
164e0 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 24 71 75 last_query.=.$query;.........$qu
16500 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 ery.=.$this->modifyQuery($query)
16520 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 66 62 73 71 6c 5f 71 75 65 72 79 ;.........$result.=.@fbsql_query
16540 28 22 24 71 75 65 72 79 3b 22 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a ("$query;",.$this->connection);.
16560 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 ........if.(!$result).{.........
16580 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 62 73 71 6c 52 61 69 73 65 45 72 72 6f ....return.$this->fbsqlRaiseErro
165a0 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d r();.........}.........//.Determ
165c0 69 6e 65 20 77 68 69 63 68 20 71 75 65 72 69 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 ine.which.queries.that.should.re
165e0 74 75 72 6e 20 64 61 74 61 2c 20 61 6e 64 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 2f 2f 20 turn.data,.and.which.........//.
16600 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 6c 79 should.return.an.error.code.only
16620 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 ..........if.(DB::isManip($query
16640 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 )).{.............return.DB_OK;..
16660 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 6e 75 6d 72 6f 77 73 20 3d 20 24 74 68 69 .......}.........$numrows.=.$thi
16680 73 2d 3e 6e 75 6d 72 6f 77 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 s->numrows($result);.........if.
166a0 28 69 73 5f 6f 62 6a 65 63 74 28 24 6e 75 6d 72 6f 77 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 (is_object($numrows)).{.........
166c0 20 20 20 20 72 65 74 75 72 6e 20 24 6e 75 6d 72 6f 77 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 ....return.$numrows;.........}..
166e0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 75 6d 5f 72 6f 77 73 5b 24 72 65 73 75 6c 74 5d 20 .......$this->num_rows[$result].
16700 3d 20 24 6e 75 6d 72 6f 77 73 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 =.$numrows;.........return.$resu
16720 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b lt;.....}......//.}}}.....//.{{{
16740 20 6e 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f .nextResult()....../**......*.Mo
16760 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 70 6f 69 ve.the.internal.fbsql.result.poi
16780 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 61 69 6c 61 62 6c 65 20 72 65 73 75 6c nter.to.the.next.available.resul
167a0 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 20 76 61 6c 69 64 20 66 t......*......*.@param.a.valid.f
167c0 62 73 71 6c 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 bsql.result.resource......*.....
167e0 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 .*.@access.public......*......*.
16800 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 65 73 75 6c 74 20 69 73 20 61 76 61 69 @return.true.if.a.result.is.avai
16820 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 20 lable.otherwise.return.false....
16840 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 65 73 75 6c 74 28 24 72 65 ..*/.....function.nextResult($re
16860 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 40 66 62 73 71 sult).....{.........return.@fbsq
16880 6c 5f 6e 65 78 74 5f 72 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 l_next_result($result);.....}...
168a0 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 65 74 63 68 52 6f 77 28 29 0a ...//.}}}.....//.{{{.fetchRow().
168c0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 61 6e 64 20 72 65 74 75 72 6e ...../**......*.Fetch.and.return
168e0 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 20 28 69 74 20 75 73 65 73 20 66 65 74 63 68 49 6e 74 .a.row.of.data.(it.uses.fetchInt
16900 6f 20 66 6f 72 20 74 68 61 74 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c o.for.that)......*.@param.$resul
16920 74 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a t.fbsql.result.identifier......*
16940 20 40 70 61 72 61 6d 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 20 66 6f 72 6d 61 74 20 6f 66 20 .@param...$fetchmode..format.of.
16960 66 65 74 63 68 65 64 20 72 6f 77 20 61 72 72 61 79 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 fetched.row.array......*.@param.
16980 20 20 24 72 6f 77 6e 75 6d 20 20 20 20 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 72 6f 77 20 6e ..$rownum.....the.absolute.row.n
169a0 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 umber.to.fetch......*......*.@re
169c0 74 75 72 6e 20 20 61 72 72 61 79 20 20 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 2c 20 6f 72 20 turn..array...a.row.of.data,.or.
169e0 66 61 6c 73 65 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 false.on.error......*/.....funct
16a00 69 6f 6e 20 66 65 74 63 68 52 6f 77 28 24 72 65 73 75 6c 74 2c 20 24 66 65 74 63 68 6d 6f 64 65 ion.fetchRow($result,.$fetchmode
16a20 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 2c 20 24 72 6f 77 6e 75 6d .=.DB_FETCHMODE_DEFAULT,.$rownum
16a40 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d =null).....{.........if.($fetchm
16a60 6f 64 65 20 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 20 7b 0a 20 ode.==.DB_FETCHMODE_DEFAULT).{..
16a80 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 ...........$fetchmode.=.$this->f
16aa0 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 etchmode;.........}.........$res
16ac0 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 49 6e 74 6f 20 28 24 72 65 73 75 6c 74 2c 20 24 61 .=.$this->fetchInto.($result,.$a
16ae0 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 rr,.$fetchmode,.$rownum);.......
16b00 20 20 69 66 20 28 24 72 65 73 20 21 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 ..if.($res.!==.DB_OK).{.........
16b20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ....return.$res;.........}......
16b40 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d ...return.$arr;.....}......//.}}
16b60 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 65 74 63 68 49 6e 74 6f 28 29 0a 0a 20 20 20 20 2f 2a }.....//.{{{.fetchInto()....../*
16b80 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 61 20 72 6f 77 20 61 6e 64 20 69 6e 73 65 72 74 20 *......*.Fetch.a.row.and.insert.
16ba0 74 68 65 20 64 61 74 61 20 69 6e 74 6f 20 61 6e 20 65 78 69 73 74 69 6e 67 20 61 72 72 61 79 2e the.data.into.an.existing.array.
16bc0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 66 62 ......*......*.@param.$result.fb
16be0 73 71 6c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 sql.result.identifier......*.@pa
16c00 72 61 6d 20 24 61 72 72 20 28 72 65 66 65 72 65 6e 63 65 29 20 61 72 72 61 79 20 77 68 65 72 65 ram.$arr.(reference).array.where
16c20 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 72 6f 77 20 69 73 20 73 74 6f 72 65 64 0a 20 20 20 .data.from.the.row.is.stored....
16c40 20 20 2a 20 40 70 61 72 61 6d 20 24 66 65 74 63 68 6d 6f 64 65 20 68 6f 77 20 74 68 65 20 61 72 ..*.@param.$fetchmode.how.the.ar
16c60 72 61 79 20 64 61 74 61 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 64 65 78 65 64 0a 20 20 20 20 20 ray.data.should.be.indexed......
16c80 2a 20 40 70 61 72 61 6d 20 20 20 24 72 6f 77 6e 75 6d 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 *.@param...$rownum.the.row.numbe
16ca0 72 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 r.to.fetch......*.@access.public
16cc0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b ......*......*.@return.int.DB_OK
16ce0 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 6f 6e 20 66 61 69 6c 75 .on.success,.a.DB.error.on.failu
16d00 72 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 re......*/.....function.fetchInt
16d20 6f 28 24 72 65 73 75 6c 74 2c 20 26 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 o($result,.&$arr,.$fetchmode,.$r
16d40 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 ownum=null).....{.........if.($r
16d60 6f 77 6e 75 6d 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ownum.!==.null).{.............if
16d80 20 28 21 40 66 62 73 71 6c 5f 64 61 74 61 5f 73 65 65 6b 28 24 72 65 73 75 6c 74 2c 20 24 72 6f .(!@fbsql_data_seek($result,.$ro
16da0 77 6e 75 6d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 wnum)).{.................return.
16dc0 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 null;.............}.........}...
16de0 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 26 20 44 42 5f 46 45 54 43 48 4d ......if.($fetchmode.&.DB_FETCHM
16e00 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 ODE_ASSOC).{.............$arr.=.
16e20 40 66 62 73 71 6c 5f 66 65 74 63 68 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 2c 20 46 42 53 51 @fbsql_fetch_array($result,.FBSQ
16e40 4c 5f 41 53 53 4f 43 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 L_ASSOC);.........}.else.{......
16e60 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 40 66 62 73 71 6c 5f 66 65 74 63 68 5f 72 6f 77 28 24 .......$arr.=.@fbsql_fetch_row($
16e80 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 result);.........}.........if.(!
16ea0 24 61 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6e 6f 20 3d 20 40 66 62 $arr).{.............$errno.=.@fb
16ec0 73 71 6c 5f 65 72 72 6e 6f 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 sql_errno($this->connection);...
16ee0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 65 72 72 6e 6f 29 20 7b 0a 20 20 20 20 20 20 20 ..........if.(!$errno).{........
16f00 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 .........return.NULL;...........
16f20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 62 ..}.............return.$this->fb
16f40 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 7d sqlRaiseError($errno);.........}
16f60 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 .........return.DB_OK;.....}....
16f80 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 72 65 65 52 65 73 75 6c 74 28 29 ..//.}}}.....//.{{{.freeResult()
16fa0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 72 65 65 20 74 68 65 20 69 6e 74 65 72 6e ....../**......*.Free.the.intern
16fc0 61 6c 20 72 65 73 6f 75 72 63 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 24 72 65 al.resources.associated.with.$re
16fe0 73 75 6c 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 sult.......*......*.@param.$resu
17000 6c 74 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 20 6f 72 20 44 42 lt.fbsql.result.identifier.or.DB
17020 20 73 74 61 74 65 6d 65 6e 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 .statement.identifier......*....
17040 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ..*.@access.public......*......*
17060 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 46 .@return.bool.TRUE.on.success,.F
17080 41 4c 53 45 20 69 66 20 24 72 65 73 75 6c 74 20 69 73 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 ALSE.if.$result.is.invalid......
170a0 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 52 65 73 75 6c 74 28 24 72 65 73 75 */.....function.freeResult($resu
170c0 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 lt).....{.........if.(is_resourc
170e0 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e e($result)).{.............return
17100 20 66 62 73 71 6c 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 .fbsql_free_result($result);....
17120 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 .....}..........if.(!isset($this
17140 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 29 ->prepare_tokens[(int)$result]))
17160 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 .{.............return.false;....
17180 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 .....}..........unset($this->pre
171a0 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 pare_tokens[(int)$result]);.....
171c0 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 5b 28 ....unset($this->prepare_types[(
171e0 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 int)$result]);..........return.t
17200 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b rue;.....}......//.}}}.....//.{{
17220 7b 20 61 75 74 6f 43 6f 6d 6d 69 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 {.autoCommit()......function.aut
17240 6f 43 6f 6d 6d 69 74 28 24 6f 6e 6f 66 66 3d 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 oCommit($onoff=false).....{.....
17260 09 69 66 20 28 24 6f 6e 6f 66 66 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .if.($onoff).{.............$this
17280 2d 3e 71 75 65 72 79 28 22 53 45 54 20 43 4f 4d 4d 49 54 20 54 52 55 45 22 29 3b 0a 20 20 20 20 ->query("SET.COMMIT.TRUE");.....
172a0 09 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 71 75 65 .}.else.{.............$this->que
172c0 72 79 28 22 53 45 54 20 43 4f 4d 4d 49 54 20 46 41 4c 53 45 22 29 3b 0a 20 20 20 20 09 7d 0a 20 ry("SET.COMMIT.FALSE");......}..
172e0 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6d 6d ...}......//.}}}.....//.{{{.comm
17300 69 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 69 74 28 29 0a 20 20 20 20 it()......function.commit().....
17320 7b 0a 20 20 20 20 20 20 20 20 66 62 73 71 6c 5f 63 6f 6d 6d 69 74 28 29 3b 0a 20 20 20 20 7d 0a {.........fbsql_commit();.....}.
17340 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 72 6f 6c 6c 62 61 63 6b 28 .....//.}}}.....//.{{{.rollback(
17360 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 29 0a 20 20 20 20 7b )......function.rollback().....{
17380 0a 20 20 20 20 20 20 20 20 66 62 73 71 6c 5f 72 6f 6c 6c 62 61 63 6b 28 29 3b 0a 20 20 20 20 7d .........fbsql_rollback();.....}
173a0 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 43 6f 6c 73 28 ......//.}}}.....//.{{{.numCols(
173c0 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 )....../**......*.Get.the.number
173e0 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 69 6e 20 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 .of.columns.in.a.result.set.....
17400 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 66 62 73 71 6c 20 ..*......*.@param.$result.fbsql.
17420 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 result.identifier......*......*.
17440 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 @access.public......*......*.@re
17460 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 70 turn.int.the.number.of.columns.p
17480 65 72 20 72 6f 77 20 69 6e 20 24 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 er.row.in.$result......*/.....fu
174a0 6e 63 74 69 6f 6e 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 nction.numCols($result).....{...
174c0 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 40 66 62 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 ......$cols.=.@fbsql_num_fields(
174e0 24 72 65 73 75 6c 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b $result);..........if.(!$cols).{
17500 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 62 73 71 6c .............return.$this->fbsql
17520 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 RaiseError();.........}.........
17540 20 72 65 74 75 72 6e 20 24 63 6f 6c 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d .return.$cols;.....}......//.}}}
17560 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 .....//.{{{.numRows()....../**..
17580 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 69 6e 20 ....*.Get.the.number.of.rows.in.
175a0 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 a.result.set.......*......*.@par
175c0 61 6d 20 24 72 65 73 75 6c 74 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 am.$result.fbsql.result.identifi
175e0 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a er......*......*.@access.public.
17600 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e 75 .....*......*.@return.int.the.nu
17620 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 69 6e 20 24 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 2f 0a mber.of.rows.in.$result......*/.
17640 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 ....function.numRows($result)...
17660 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 6f 77 73 20 3d 20 40 66 62 73 71 6c 5f 6e 75 6d 5f 72 ..{.........$rows.=.@fbsql_num_r
17680 6f 77 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 73 20 ows($result);.........if.($rows.
176a0 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 ===.null).{.............return.$
176c0 74 68 69 73 2d 3e 66 62 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 this->fbsqlRaiseError();........
176e0 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a .}.........return.$rows;.....}..
17700 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 66 66 65 63 74 65 64 52 6f ....//.}}}.....//.{{{.affectedRo
17720 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6e 75 ws()....../**......*.Gets.the.nu
17740 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 64 61 74 mber.of.rows.affected.by.the.dat
17760 61 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 0a 20 20 20 20 20 2a 20 71 75 65 72 79 2e 20 20 46 6f a.manipulation......*.query...Fo
17780 72 20 6f 74 68 65 72 20 71 75 65 72 69 65 73 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 r.other.queries,.this.function.r
177a0 65 74 75 72 6e 73 20 30 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 eturns.0.......*......*.@return.
177c0 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c number.of.rows.affected.by.the.l
177e0 61 73 74 20 71 75 65 72 79 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 ast.query......*/......function.
17800 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 affectedRows().....{.........if.
17820 28 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 29 29 (DB::isManip($this->last_query))
17840 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 66 62 73 71 6c 5f .{.............$result.=.@fbsql_
17860 61 66 66 65 63 74 65 64 5f 72 6f 77 73 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 affected_rows($this->connection)
17880 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ;.........}.else.{.............$
178a0 72 65 73 75 6c 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 result.=.0;.........}.........re
178c0 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d turn.$result;......}......//.}}}
178e0 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 0a 20 20 20 20 2f .....//.{{{.errorNative()....../
17900 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 **......*.Get.the.native.error.c
17920 6f 64 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 65 72 72 6f 72 20 28 69 66 20 61 6e 79 29 20 74 ode.of.the.last.error.(if.any).t
17940 68 61 74 0a 20 20 20 20 20 2a 20 6f 63 63 75 72 65 64 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e hat......*.occured.on.the.curren
17960 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 t.connection.......*......*.@acc
17980 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e ess.public......*......*.@return
179a0 20 69 6e 74 20 6e 61 74 69 76 65 20 66 62 73 71 6c 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 .int.native.fbsql.error.code....
179c0 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 ..*/......function.errorNative()
179e0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 62 73 71 6c 5f 65 72 72 6e .....{.........return.fbsql_errn
17a00 6f 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 o($this->connection);.....}.....
17a20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 49 64 28 29 0a 0a 20 20 20 .//.}}}.....//.{{{.nextId().....
17a40 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 ./**......*.Get.the.next.value.i
17a60 6e 20 61 20 73 65 71 75 65 6e 63 65 2e 20 20 57 65 20 65 6d 75 6c 61 74 65 20 73 65 71 75 65 6e n.a.sequence...We.emulate.sequen
17a80 63 65 73 0a 20 20 20 20 20 2a 20 66 6f 72 20 66 62 73 71 6c 2e 20 20 57 69 6c 6c 20 63 72 65 61 ces......*.for.fbsql...Will.crea
17aa0 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 65 te.the.sequence.if.it.does.not.e
17ac0 78 69 73 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c xist.......*......*.@access.publ
17ae0 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 73 65 71 5f 6e 61 6d ic......*......*.@param.$seq_nam
17b00 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 e.the.name.of.the.sequence......
17b20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 6f 6e 64 65 6d 61 6e 64 20 77 68 65 74 68 65 *......*.@param.$ondemand.whethe
17b40 72 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 61 62 6c 65 20 6f r.to.create.the.sequence.table.o
17b60 6e 20 64 65 6d 61 6e 64 0a 20 20 20 20 20 2a 20 28 64 65 66 61 75 6c 74 20 69 73 20 74 72 75 65 n.demand......*.(default.is.true
17b80 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e )......*......*.@return.a.sequen
17ba0 63 65 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 0a 20 20 20 20 20 2a ce.integer,.or.a.DB.error......*
17bc0 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 24 73 65 71 5f 6e 61 6d 65 2c /.....function.nextId($seq_name,
17be0 20 24 6f 6e 64 65 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 .$ondemand.=.true).....{........
17c00 20 24 73 71 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 61 2d 7a 30 2d 39 5f .$sqn.=.preg_replace('/[^a-z0-9_
17c20 5d 2f 69 27 2c 20 27 5f 27 2c 20 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 ]/i',.'_',.$seq_name);.........$
17c40 72 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 repeat.=.0;.........do.{........
17c60 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 67 .....$seqname.=.sprintf($this->g
17c80 65 74 4f 70 74 69 6f 6e 28 22 73 65 71 6e 61 6d 65 5f 66 6f 72 6d 61 74 22 29 2c 20 24 73 71 6e etOption("seqname_format"),.$sqn
17ca0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e );.............$result.=.$this->
17cc0 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 24 7b 73 65 71 6e 61 6d 65 7d 20 56 41 query("INSERT.INTO.${seqname}.VA
17ce0 4c 55 45 53 28 4e 55 4c 4c 29 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f LUES(NULL)");.............if.($o
17d00 6e 64 65 6d 61 6e 64 20 26 26 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 ndemand.&&.DB::isError($result).
17d20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 43 &&.................$result->getC
17d40 6f 64 65 28 29 20 3d 3d 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 29 20 7b ode().==.DB_ERROR_NOSUCHTABLE).{
17d60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 20 3d 20 31 3b 0a 20 20 .................$repeat.=.1;...
17d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 ..............$result.=.$this->c
17da0 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 reateSequence($seq_name);.......
17dc0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c ..........if.(DB::isError($resul
17de0 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e t)).{.....................return
17e00 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .$result;.................}.....
17e20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.else.{................
17e40 20 24 72 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .$repeat.=.0;.............}.....
17e60 20 20 20 20 7d 20 77 68 69 6c 65 20 28 24 72 65 70 65 61 74 29 3b 0a 20 20 20 20 20 20 20 20 69 ....}.while.($repeat);.........i
17e80 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 f.(DB::isError($result)).{......
17ea0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 7d .......return.$result;.........}
17ec0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 62 73 71 6c 5f 69 6e 73 65 72 74 5f 69 64 28 .........return.fbsql_insert_id(
17ee0 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f $this->connection);.....}....../
17f00 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 /.}}}.....//.{{{.createSequence(
17f20 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 )......function.createSequence($
17f40 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 71 6e 20 3d 20 70 seq_name).....{.........$sqn.=.p
17f60 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 61 2d 7a 30 2d 39 5f 5d 2f 69 27 2c 20 27 5f 27 reg_replace('/[^a-z0-9_]/i',.'_'
17f80 2c 20 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d ,.$seq_name);.........$seqname.=
17fa0 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 22 73 65 71 6e 61 .sprintf($this->getOption("seqna
17fc0 6d 65 5f 66 6f 72 6d 61 74 22 29 2c 20 24 73 71 6e 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 me_format"),.$sqn);.........retu
17fe0 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 43 52 45 41 54 45 20 54 41 42 4c 45 20 24 7b rn.$this->query("CREATE.TABLE.${
18000 73 65 71 6e 61 6d 65 7d 20 22 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 seqname}."......................
18020 20 20 20 20 20 20 20 20 27 28 69 64 20 49 4e 54 45 47 45 52 20 55 4e 53 49 47 4e 45 44 20 41 55 ........'(id.INTEGER.UNSIGNED.AU
18040 54 4f 5f 49 4e 43 52 45 4d 45 4e 54 20 4e 4f 54 20 4e 55 4c 4c 2c 27 2e 0a 20 20 20 20 20 20 20 TO_INCREMENT.NOT.NULL,'.........
18060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 20 50 52 49 4d 41 52 59 20 4b .....................'.PRIMARY.K
18080 45 59 28 69 64 29 29 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 EY(id))');.....}......//.}}}....
180a0 20 2f 2f 20 7b 7b 7b 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 .//.{{{.dropSequence()......func
180c0 74 69 6f 6e 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 tion.dropSequence($seq_name)....
180e0 20 7b 0a 20 20 20 20 20 20 20 20 24 73 71 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 .{.........$sqn.=.preg_replace('
18100 2f 5b 5e 61 2d 7a 30 2d 39 5f 5d 2f 69 27 2c 20 27 5f 27 2c 20 24 73 65 71 5f 6e 61 6d 65 29 3b /[^a-z0-9_]/i',.'_',.$seq_name);
18120 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 73 70 72 69 6e 74 66 28 24 74 68 69 .........$seqname.=.sprintf($thi
18140 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 22 73 65 71 6e 61 6d 65 5f 66 6f 72 6d 61 74 22 29 2c 20 s->getOption("seqname_format"),.
18160 24 73 71 6e 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 $sqn);.........return.$this->que
18180 72 79 28 22 44 52 4f 50 20 54 41 42 4c 45 20 24 7b 73 65 71 6e 61 6d 65 7d 20 52 45 53 54 52 49 ry("DROP.TABLE.${seqname}.RESTRI
181a0 43 54 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b CT");.....}......//.}}}.....//.{
181c0 7b 7b 20 6d 6f 64 69 66 79 51 75 65 72 79 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d {{.modifyQuery()......function.m
181e0 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 odifyQuery($query).....{........
18200 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 6f 70 74 69 6d 69 7a 65 27 5d 20 .if.($this->options['optimize'].
18220 3d 3d 20 27 70 6f 72 74 61 62 69 6c 69 74 79 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ==.'portability').{.............
18240 2f 2f 20 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 74 61 62 6c 65 22 20 67 69 76 65 73 20 30 20 61 //."DELETE.FROM.table".gives.0.a
18260 66 66 65 63 74 65 64 20 72 6f 77 73 20 69 6e 20 66 62 73 71 6c 2e 0a 20 20 20 20 20 20 20 20 20 ffected.rows.in.fbsql...........
18280 20 20 20 2f 2f 20 54 68 69 73 20 6c 69 74 74 6c 65 20 68 61 63 6b 20 6c 65 74 73 20 79 6f 75 20 ...//.This.little.hack.lets.you.
182a0 6b 6e 6f 77 20 68 6f 77 20 6d 61 6e 79 20 72 6f 77 73 20 77 65 72 65 20 64 65 6c 65 74 65 64 2e know.how.many.rows.were.deleted.
182c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c .............if.(preg_match('/^\
182e0 73 2a 44 45 4c 45 54 45 5c 73 2b 46 52 4f 4d 5c 73 2b 28 5c 53 2b 29 5c 73 2a 24 2f 69 27 2c 20 s*DELETE\s+FROM\s+(\S+)\s*$/i',.
18300 24 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 71 75 65 72 $query)).{.................$quer
18320 79 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 5c 73 2a 44 45 4c 45 54 45 5c 73 2b y.=.preg_replace('/^\s*DELETE\s+
18340 46 52 4f 4d 5c 73 2b 28 5c 53 2b 29 5c 73 2a 24 2f 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 FROM\s+(\S+)\s*$/',.............
18360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 44 45 4c 45 54 ..........................'DELET
18380 45 20 46 52 4f 4d 20 5c 31 20 57 48 45 52 45 20 31 3d 31 27 2c 20 24 71 75 65 72 79 29 3b 0a 20 E.FROM.\1.WHERE.1=1',.$query);..
183a0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 ...........}.........}.........r
183c0 65 74 75 72 6e 20 24 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a eturn.$query;.....}......//.}}}.
183e0 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 62 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 0a 0a 20 20 ....//.{{{.fbsqlRaiseError()....
18400 20 20 66 75 6e 63 74 69 6f 6e 20 66 62 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e ..function.fbsqlRaiseError($errn
18420 6f 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 o.=.null).....{.........if.($err
18440 6e 6f 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6e no.===.null).{.............$errn
18460 6f 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 66 62 73 71 6c 5f 65 72 72 6e 6f o.=.$this->errorCode(fbsql_errno
18480 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a ($this->connection));.........}.
184a0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 ........return.$this->raiseError
184c0 28 24 65 72 72 6e 6f 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 ($errno,.null,.null,.null,......
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 62 73 71 6c 5f 65 72 72 6f 72 28 24 ...................fbsql_error($
18500 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f this->connection));.....}....../
18520 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 74 61 62 6c 65 49 6e 66 6f 28 29 0a 0a 20 20 /.}}}.....//.{{{.tableInfo()....
18540 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 49 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6d ..function.tableInfo($result,.$m
18560 6f 64 65 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 30 ode.=.null).{.........$count.=.0
18580 3b 0a 20 20 20 20 20 20 20 20 24 69 64 20 20 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 72 ;.........$id....=.0;.........$r
185a0 65 73 20 20 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2a 0a 20 20 20 20 es...=.array();........../*.....
185c0 20 20 20 20 20 2a 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 24 6d 6f 64 65 2c 20 6d 65 74 61 64 .....*.depending.on.$mode,.metad
185e0 61 74 61 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 ata.returns.the.following.values
18600 3a 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 :..........*..........*.-.mode.i
18620 73 20 66 61 6c 73 65 20 28 64 65 66 61 75 6c 74 29 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 24 72 s.false.(default):..........*.$r
18640 65 73 75 6c 74 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 esult[]:..........*...[0]["table
18660 22 5d 20 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b "]..table.name..........*...[0][
18680 22 6e 61 6d 65 22 5d 20 20 20 66 69 65 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 "name"]...field.name..........*.
186a0 20 20 5b 30 5d 5b 22 74 79 70 65 22 5d 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 20 ..[0]["type"]...field.type......
186c0 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6c 65 6e 22 5d 20 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 ....*...[0]["len"]....field.leng
186e0 74 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 th..........*...[0]["flags"]..fi
18700 65 6c 64 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 eld.flags..........*..........*.
18720 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 -.mode.is.DB_TABLEINFO_ORDER....
18740 20 20 20 20 20 20 2a 20 24 72 65 73 75 6c 74 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 ......*.$result[]:..........*...
18760 5b 22 6e 75 6d 5f 66 69 65 6c 64 73 22 5d 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 74 61 64 61 74 ["num_fields"].number.of.metadat
18780 61 20 72 65 63 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c a.records..........*...[0]["tabl
187a0 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d e"]..table.name..........*...[0]
187c0 5b 22 6e 61 6d 65 22 5d 20 20 20 66 69 65 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a ["name"]...field.name..........*
187e0 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 5d 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 ...[0]["type"]...field.type.....
18800 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6c 65 6e 22 5d 20 20 20 20 66 69 65 6c 64 20 6c 65 6e .....*...[0]["len"]....field.len
18820 67 74 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 gth..........*...[0]["flags"]..f
18840 69 65 6c 64 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 22 ield.flags..........*...["order"
18860 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d 20 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 20 6e 61 ][field.name]..index.of.field.na
18880 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 68 med."field.name"..........*...Th
188a0 65 20 6c 61 73 74 20 6f 6e 65 20 69 73 20 75 73 65 64 2c 20 69 66 20 79 6f 75 20 68 61 76 65 20 e.last.one.is.used,.if.you.have.
188c0 61 20 66 69 65 6c 64 20 6e 61 6d 65 2c 20 62 75 74 20 6e 6f 20 69 6e 64 65 78 2e 0a 20 20 20 20 a.field.name,.but.no.index......
188e0 20 20 20 20 20 2a 20 20 20 54 65 73 74 3a 20 20 69 66 20 28 69 73 73 65 74 28 24 72 65 73 75 6c .....*...Test:..if.(isset($resul
18900 74 5b 27 6d 65 74 61 27 5d 5b 27 6d 79 66 69 65 6c 64 27 5d 29 29 20 7b 20 2e 2e 2e 0a 20 20 20 t['meta']['myfield'])).{........
18920 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f ......*..........*.-.mode.is.DB_
18940 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 0a 20 20 20 20 20 20 20 20 20 2a 20 TABLEINFO_ORDERTABLE..........*.
18960 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 20 62 75 74 20 61 64 64 69 74 69 ...the.same.as.above..but.additi
18980 6f 6e 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 74 61 62 6c 65 onally..........*...["ordertable
189a0 22 5d 5b 74 61 62 6c 65 20 6e 61 6d 65 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d 20 69 6e 64 65 78 "][table.name][field.name].index
189c0 20 6f 66 20 66 69 65 6c 64 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 6e 61 6d 65 64 20 .of.field..........*......named.
189e0 22 66 69 65 6c 64 20 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 "field.name"..........*.........
18a00 20 2a 20 20 20 20 20 20 74 68 69 73 20 69 73 2c 20 62 65 63 61 75 73 65 20 69 66 20 79 6f 75 20 .*......this.is,.because.if.you.
18a20 68 61 76 65 20 66 69 65 6c 64 73 20 66 72 6f 6d 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 have.fields.from.different......
18a40 20 20 20 20 2a 20 20 20 20 20 20 74 61 62 6c 65 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 ....*......tables.with.the.same.
18a60 66 69 65 6c 64 20 6e 61 6d 65 20 2a 20 74 68 65 79 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 0a field.name.*.they.override.each.
18a80 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 6f 74 68 65 72 20 77 69 74 68 20 44 42 5f 54 41 .........*......other.with.DB_TA
18aa0 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 BLEINFO_ORDER..........*........
18ac0 20 20 2a 20 20 20 20 20 20 79 6f 75 20 63 61 6e 20 63 6f 6d 62 69 6e 65 20 44 42 5f 54 41 42 4c ..*......you.can.combine.DB_TABL
18ae0 45 49 4e 46 4f 5f 4f 52 44 45 52 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 EINFO_ORDER.and..........*......
18b00 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 77 69 74 68 20 44 42 5f DB_TABLEINFO_ORDERTABLE.with.DB_
18b20 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 7c 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 TABLEINFO_ORDER.|..........*....
18b40 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 2a 20 6f 72 20 77 ..DB_TABLEINFO_ORDERTABLE.*.or.w
18b60 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 46 55 4c 4c 0a 20 20 20 20 20 20 20 20 20 2a ith.DB_TABLEINFO_FULL..........*
18b80 2f 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 24 72 65 73 75 6c 74 20 69 73 20 61 20 73 74 /..........//.if.$result.is.a.st
18ba0 72 69 6e 67 2c 20 74 68 65 6e 20 77 65 20 77 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 ring,.then.we.want.information.a
18bc0 62 6f 75 74 20 61 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 61 62 6c 65 20 77 69 74 68 6f 75 74 20 bout.a.........//.table.without.
18be0 61 20 72 65 73 75 6c 74 73 65 74 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 73 74 72 69 6e a.resultset.........if.(is_strin
18c00 67 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 g($result)).{.............$id.=.
18c20 40 66 62 73 71 6c 5f 6c 69 73 74 5f 66 69 65 6c 64 73 28 24 74 68 69 73 2d 3e 64 73 6e 5b 27 64 @fbsql_list_fields($this->dsn['d
18c40 61 74 61 62 61 73 65 27 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 atabase'],......................
18c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 2c 20 24 74 68 69 73 2d 3e ................$result,.$this->
18c80 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 connection);.............if.(emp
18ca0 74 79 28 24 69 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ty($id)).{.................retur
18cc0 6e 20 24 74 68 69 73 2d 3e 66 62 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 n.$this->fbsqlRaiseError();.....
18ce0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 65 6c ........}.........}.else.{.//.el
18d00 73 65 20 77 65 20 77 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 72 se.we.want.information.about.a.r
18d20 65 73 75 6c 74 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 24 72 65 73 75 esultset.............$id.=.$resu
18d40 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 29 20 lt;.............if.(empty($id)).
18d60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e {.................return.$this->
18d80 66 62 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d fbsqlRaiseError();.............}
18da0 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 40 66 62 .........}..........$count.=.@fb
18dc0 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 69 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f sql_num_fields($id);..........//
18de0 20 6d 61 64 65 20 74 68 69 73 20 49 46 20 64 75 65 20 74 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 .made.this.IF.due.to.performance
18e00 20 28 6f 6e 65 20 69 66 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 24 63 6f 75 6e 74 20 69 .(one.if.is.faster.than.$count.i
18e20 66 27 73 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 6d 6f 64 65 29 29 20 7b f's).........if.(empty($mode)).{
18e40 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 63 6f 75 6e .............for.($i=0;.$i<$coun
18e60 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b t;.$i++).{.................$res[
18e80 24 69 5d 5b 27 74 61 62 6c 65 27 5d 20 3d 20 40 66 62 73 71 6c 5f 66 69 65 6c 64 5f 74 61 62 6c $i]['table'].=.@fbsql_field_tabl
18ea0 65 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 e.($id,.$i);.................$re
18ec0 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 20 20 3d 20 40 66 62 73 71 6c 5f 66 69 65 6c 64 5f 6e 61 s[$i]['name']..=.@fbsql_field_na
18ee0 6d 65 20 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 me..($id,.$i);.................$
18f00 72 65 73 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 20 3d 20 40 66 62 73 71 6c 5f 66 69 65 6c 64 5f res[$i]['type']..=.@fbsql_field_
18f20 74 79 70 65 20 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type..($id,.$i);................
18f40 20 24 72 65 73 5b 24 69 5d 5b 27 6c 65 6e 27 5d 20 20 20 3d 20 40 66 62 73 71 6c 5f 66 69 65 6c .$res[$i]['len']...=.@fbsql_fiel
18f60 64 5f 6c 65 6e 20 20 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d_len...($id,.$i);..............
18f80 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d 20 3d 20 40 66 62 73 71 6c 5f 66 69 ...$res[$i]['flags'].=.@fbsql_fi
18fa0 65 6c 64 5f 66 6c 61 67 73 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 eld_flags.($id,.$i);............
18fc0 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 66 75 6c 6c 0a 20 20 20 20 .}.........}.else.{.//.full.....
18fe0 20 20 20 20 20 20 20 20 24 72 65 73 5b 22 6e 75 6d 5f 66 69 65 6c 64 73 22 5d 3d 20 24 63 6f 75 ........$res["num_fields"]=.$cou
19000 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 nt;..............for.($i=0;.$i<$
19020 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 count;.$i++).{.................$
19040 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 20 3d 20 40 66 62 73 71 6c 5f 66 69 65 6c 64 5f res[$i]['table'].=.@fbsql_field_
19060 74 61 62 6c 65 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 table.($id,.$i);................
19080 20 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 20 20 3d 20 40 66 62 73 71 6c 5f 66 69 65 6c .$res[$i]['name']..=.@fbsql_fiel
190a0 64 5f 6e 61 6d 65 20 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 d_name..($id,.$i);..............
190c0 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 20 3d 20 40 66 62 73 71 6c 5f 66 69 ...$res[$i]['type']..=.@fbsql_fi
190e0 65 6c 64 5f 74 79 70 65 20 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 eld_type..($id,.$i);............
19100 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6c 65 6e 27 5d 20 20 20 3d 20 40 66 62 73 71 6c 5f .....$res[$i]['len']...=.@fbsql_
19120 66 69 65 6c 64 5f 6c 65 6e 20 20 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 field_len...($id,.$i);..........
19140 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d 20 3d 20 40 66 62 73 71 .......$res[$i]['flags'].=.@fbsq
19160 6c 5f 66 69 65 6c 64 5f 66 6c 61 67 73 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 l_field_flags.($id,.$i);........
19180 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 .........if.($mode.&.DB_TABLEINF
191a0 4f 5f 4f 52 44 45 52 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 O_ORDER).{.....................$
191c0 72 65 73 5b 27 6f 72 64 65 72 27 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d res['order'][$res[$i]['name']].=
191e0 20 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .$i;.................}..........
19200 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f .......if.($mode.&.DB_TABLEINFO_
19220 4f 52 44 45 52 54 41 42 4c 45 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ORDERTABLE).{...................
19240 20 20 24 72 65 73 5b 27 6f 72 64 65 72 74 61 62 6c 65 27 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 74 ..$res['ordertable'][$res[$i]['t
19260 61 62 6c 65 27 5d 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a able']][$res[$i]['name']].=.$i;.
19280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ................}.............}.
192a0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 66 72 65 65 20 74 68 65 20 72 ........}..........//.free.the.r
192c0 65 73 75 6c 74 20 6f 6e 6c 79 20 69 66 20 77 65 20 77 65 72 65 20 63 61 6c 6c 65 64 20 6f 6e 20 esult.only.if.we.were.called.on.
192e0 61 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 a.table.........if.(is_string($r
19300 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 40 66 62 73 71 6c 5f 66 72 65 esult)).{.............@fbsql_fre
19320 65 5f 72 65 73 75 6c 74 28 24 69 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 e_result($id);.........}........
19340 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a .return.$res;.....}......//.}}}.
19360 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 29 0a 0a 20 20 ....//.{{{.getSpecialQuery()....
19380 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 71 75 65 72 79 20 6e 65 ../**.....*.Returns.the.query.ne
193a0 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 20 62 61 63 6b 65 6e 64 20 69 6e 66 6f 0a 20 20 eded.to.get.some.backend.info...
193c0 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 70 65 20 57 68 61 74 20 6b 69 6e ..*.@param.string.$type.What.kin
193e0 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 0a 20 d.of.info.you.want.to.retrieve..
19400 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 53 51 4c 20 71 75 65 72 ...*.@return.string.The.SQL.quer
19420 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 y.string.....*/.....function.get
19440 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 SpecialQuery($type).....{.......
19460 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ..switch.($type).{.............c
19480 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 ase.'tables':.................$s
194a0 71 6c 20 3d 20 27 73 65 6c 65 63 74 20 22 74 61 62 6c 65 5f 6e 61 6d 65 22 20 66 72 6f 6d 20 69 ql.=.'select."table_name".from.i
194c0 6e 66 6f 72 6d 61 74 69 6f 6e 5f 73 63 68 65 6d 61 2e 74 61 62 6c 65 73 27 3b 0a 20 20 20 20 20 nformation_schema.tables';......
194e0 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 ...........break;.............de
19500 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 fault:.................return.nu
19520 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 71 ll;.........}.........return.$sq
19540 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 7d 0a 0a 2f 2f 20 54 4f 44 4f 2f l;.....}......//.}}}.}..//.TODO/
19560 77 69 73 68 6c 69 73 74 3a 0a 2f 2f 20 6c 6f 6e 67 52 65 61 64 6c 65 6e 0a 2f 2f 20 62 69 6e 6d wishlist:.//.longReadlen.//.binm
19580 6f 64 65 0a 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ode..?>.........................
195a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
195c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
195e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19600 44 42 2d 31 2e 33 2f 44 42 2f 69 62 61 73 65 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/ibase.php.............
19620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
19680 20 20 34 36 32 32 35 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 30 30 33 20 00 00 00 00 00 ..46225..7466465701...7003......
196a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
196c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
196e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
197a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
197c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
197e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19800 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
19820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
19860 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
19880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
198a0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
198c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
198e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
19900 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
19920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
19940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19980 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
199a0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
199c0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
199e0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
19a00 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
19a20 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
19a40 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
19a60 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
19a80 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
19aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
19ac0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
19ae0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
19b00 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
19b20 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
19b40 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
19b60 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
19b80 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
19ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19be0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 65 72 6c 69 6e 67 20 48 75 67 68 65 ---+.//.|.Author:.Sterling.Hughe
19c00 73 20 3c 73 74 65 72 6c 69 6e 67 40 70 68 70 2e 6e 65 74 3e 20 20 20 20 20 20 20 20 20 20 20 20 s.<sterling@php.net>............
19c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
19c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19c60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
19c80 2f 2f 20 24 49 64 3a 20 69 62 61 73 65 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f //.$Id:.ibase.php,v.1.3.2002/05/
19ca0 30 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 09.12:29:53.ssb.Exp.$.//.//.Data
19cc0 62 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 base.independent.query.interface
19ce0 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 49 6e 74 65 72 62 61 73 65 0a .definition.for.PHP's.Interbase.
19d00 2f 2f 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 27 //.extension..//..require_once.'
19d20 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a 63 6c 61 73 73 20 44 42 5f 69 62 61 73 65 20 DB/common.php';..class.DB_ibase.
19d40 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 20 20 20 76 61 72 20 24 63 6f 6e extends.DB_common.{.....var.$con
19d60 6e 65 63 74 69 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 24 64 62 73 79 nection;.....var.$phptype,.$dbsy
19d80 6e 74 61 78 3b 0a 20 20 20 20 76 61 72 20 24 61 75 74 6f 63 6f 6d 6d 69 74 20 3d 20 31 3b 0a 20 ntax;.....var.$autocommit.=.1;..
19da0 20 20 20 76 61 72 20 24 6d 61 6e 69 70 5f 71 75 65 72 79 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a ...var.$manip_query.=.array();..
19dc0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 69 62 61 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 ....function.DB_ibase().....{...
19de0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a 20 20 20 20 20 20 ......$this->DB_common();.......
19e00 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 69 62 61 73 65 27 3b 0a 20 20 20 20 ..$this->phptype.=.'ibase';.....
19e20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 69 62 61 73 65 27 3b 0a 20 ....$this->dbsyntax.=.'ibase';..
19e40 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 79 28 0a .......$this->features.=.array(.
19e60 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e 20 74 72 75 65 2c 0a 20 ............'prepare'.=>.true,..
19e80 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a 20 ...........'pconnect'.=>.true,..
19ea0 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d 3e 20 74 72 75 ...........'transactions'.=>.tru
19ec0 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 3d 3e 20 66 61 6c 73 65 0a e,.............'limit'.=>.false.
19ee0 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 6a 75 73 74 20 61 20 66 65 77 ........);.........//.just.a.few
19f00 20 6f 66 20 74 68 65 20 74 6f 6e 73 20 6f 66 20 49 6e 74 65 72 62 61 73 65 20 65 72 72 6f 72 20 .of.the.tons.of.Interbase.error.
19f20 63 6f 64 65 73 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 2f 2f 20 4c codes.listed.in.the.........//.L
19f40 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 73 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 anguage.Reference.section.of.the
19f60 20 49 6e 74 65 72 62 61 73 65 20 6d 61 6e 75 61 6c 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .Interbase.manual.........$this-
19f80 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 >errorcode_map.=.array(.........
19fa0 20 20 20 20 2d 31 30 34 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 0a 20 20 20 ....-104.=>.DB_ERROR_SYNTAX,....
19fc0 20 20 20 20 20 20 20 20 20 2d 31 35 30 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 41 43 43 45 53 53 .........-150.=>.DB_ERROR_ACCESS
19fe0 5f 56 49 4f 4c 41 54 49 4f 4e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 35 31 20 3d 3e 20 _VIOLATION,.............-151.=>.
1a000 44 42 5f 45 52 52 4f 52 5f 41 43 43 45 53 53 5f 56 49 4f 4c 41 54 49 4f 4e 2c 0a 20 20 20 20 20 DB_ERROR_ACCESS_VIOLATION,......
1a020 20 20 20 20 20 20 20 2d 31 35 35 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 .......-155.=>.DB_ERROR_NOSUCHTA
1a040 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 35 37 20 3d 3e 20 44 42 5f 45 52 52 4f BLE,.............-157.=>.DB_ERRO
1a060 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 35 38 20 R_NOSUCHFIELD,.............-158.
1a080 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 56 41 4c 55 45 5f 43 4f 55 4e 54 5f 4f 4e 5f 52 4f 57 2c 0a =>.DB_ERROR_VALUE_COUNT_ON_ROW,.
1a0a0 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 37 30 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4d 49 53 ............-170.=>.DB_ERROR_MIS
1a0c0 4d 41 54 43 48 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 37 31 20 3d 3e 20 44 42 5f 45 52 MATCH,.............-171.=>.DB_ER
1a0e0 52 4f 52 5f 4d 49 53 4d 41 54 43 48 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 37 32 20 3d ROR_MISMATCH,.............-172.=
1a100 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 >.DB_ERROR_INVALID,.............
1a120 2d 32 30 34 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 2c 0a 20 20 20 20 20 20 -204.=>.DB_ERROR_INVALID,.......
1a140 20 20 20 20 20 20 2d 32 30 35 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 ......-205.=>.DB_ERROR_NOSUCHFIE
1a160 4c 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 32 30 36 20 3d 3e 20 44 42 5f 45 52 52 4f 52 LD,.............-206.=>.DB_ERROR
1a180 5f 4e 4f 53 55 43 48 46 49 45 4c 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 32 30 38 20 3d _NOSUCHFIELD,.............-208.=
1a1a0 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 >.DB_ERROR_INVALID,.............
1a1c0 2d 32 31 39 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 2c 0a 20 20 -219.=>.DB_ERROR_NOSUCHTABLE,...
1a1e0 20 20 20 20 20 20 20 20 20 20 2d 32 39 37 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 ..........-297.=>.DB_ERROR_CONST
1a200 52 41 49 4e 54 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 35 33 30 20 3d 3e 20 44 42 5f 45 52 RAINT,.............-530.=>.DB_ER
1a220 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 38 30 33 ROR_CONSTRAINT,.............-803
1a240 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 2c 0a 20 20 20 20 20 20 20 .=>.DB_ERROR_CONSTRAINT,........
1a260 20 20 20 20 20 2d 35 35 31 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 41 43 43 45 53 53 5f 56 49 4f .....-551.=>.DB_ERROR_ACCESS_VIO
1a280 4c 41 54 49 4f 4e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 35 35 32 20 3d 3e 20 44 42 5f 45 LATION,.............-552.=>.DB_E
1a2a0 52 52 4f 52 5f 41 43 43 45 53 53 5f 56 49 4f 4c 41 54 49 4f 4e 2c 0a 20 20 20 20 20 20 20 20 20 RROR_ACCESS_VIOLATION,..........
1a2c0 20 20 20 2d 39 32 32 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 44 42 2c 0a 20 20 ...-922.=>.DB_ERROR_NOSUCHDB,...
1a2e0 20 20 20 20 20 20 20 20 20 20 2d 39 32 33 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 ..........-923.=>.DB_ERROR_CONNE
1a300 43 54 5f 46 41 49 4c 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 39 32 34 20 3d 3e 20 44 CT_FAILED,.............-924.=>.D
1a320 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 0a 20 20 20 20 20 20 20 20 29 B_ERROR_CONNECT_FAILED.........)
1a340 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 ;.....}......function.connect($d
1a360 73 6e 69 6e 66 6f 2c 20 24 70 65 72 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 sninfo,.$persistent.=.false)....
1a380 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 .{.........if.(!DB::assertExtens
1a3a0 69 6f 6e 28 27 69 6e 74 65 72 62 61 73 65 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ion('interbase')).{.............
1a3c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f return.$this->raiseError(DB_ERRO
1a3e0 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 20 20 20 20 20 20 20 20 R_EXTENSION_NOT_FOUND);.........
1a400 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 24 64 73 6e 69 6e 66 6f 3b }.........$this->dsn.=.$dsninfo;
1a420 0a 20 20 20 20 20 20 20 20 24 75 73 65 72 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e .........$user.=.$dsninfo['usern
1a440 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 20 20 3d 20 24 64 73 6e 69 6e 66 6f 5b ame'];.........$pw...=.$dsninfo[
1a460 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 64 62 68 6f 73 74 20 3d 20 24 'password'];.........$dbhost.=.$
1a480 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3f 0a 20 20 20 20 20 20 20 20 20 20 dsninfo['hostspec'].?...........
1a4a0 20 20 20 20 20 20 20 20 28 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 2e 20 ........($dsninfo['hostspec']...
1a4c0 27 3a 2f 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 29 20 3a 0a 20 ':/'...$dsninfo['database']).:..
1a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 .................$dsninfo['datab
1a500 61 73 65 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f ase'];..........$connect_functio
1a520 6e 20 3d 20 24 70 65 72 73 69 73 74 65 6e 74 20 3f 20 27 69 62 61 73 65 5f 70 63 6f 6e 6e 65 63 n.=.$persistent.?.'ibase_pconnec
1a540 74 27 20 3a 20 27 69 62 61 73 65 5f 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 24 t'.:.'ibase_connect';..........$
1a560 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 70 61 72 61 6d params.=.array();.........$param
1a580 73 5b 5d 20 3d 20 24 64 62 68 6f 73 74 3b 0a 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 5b 5d s[].=.$dbhost;.........$params[]
1a5a0 20 3d 20 21 65 6d 70 74 79 28 24 75 73 65 72 29 20 3f 20 24 75 73 65 72 20 3a 20 6e 75 6c 6c 3b .=.!empty($user).?.$user.:.null;
1a5c0 0a 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 5b 5d 20 3d 20 21 65 6d 70 74 79 28 24 70 77 29 .........$params[].=.!empty($pw)
1a5e0 20 3f 20 24 70 77 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 5b 5d .?.$pw.:.null;.........$params[]
1a600 20 3d 20 69 73 73 65 74 28 24 64 73 6e 69 6e 66 6f 5b 27 63 68 61 72 73 65 74 27 5d 29 20 3f 20 .=.isset($dsninfo['charset']).?.
1a620 24 64 73 6e 69 6e 66 6f 5b 27 63 68 61 72 73 65 74 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 $dsninfo['charset'].:.null;.....
1a640 20 20 20 20 24 70 61 72 61 6d 73 5b 5d 20 3d 20 69 73 73 65 74 28 24 64 73 6e 69 6e 66 6f 5b 27 ....$params[].=.isset($dsninfo['
1a660 62 75 66 66 65 72 73 27 5d 29 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 62 75 66 66 65 72 73 27 5d buffers']).?.$dsninfo['buffers']
1a680 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 5b 5d 20 3d 20 69 73 73 .:.null;.........$params[].=.iss
1a6a0 65 74 28 24 64 73 6e 69 6e 66 6f 5b 27 64 69 61 6c 65 63 74 27 5d 29 20 3f 20 24 64 73 6e 69 6e et($dsninfo['dialect']).?.$dsnin
1a6c0 66 6f 5b 27 64 69 61 6c 65 63 74 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 70 fo['dialect'].:.null;.........$p
1a6e0 61 72 61 6d 73 5b 5d 20 3d 20 69 73 73 65 74 28 24 64 73 6e 69 6e 66 6f 5b 27 72 6f 6c 65 27 5d arams[].=.isset($dsninfo['role']
1a700 29 20 20 20 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 72 6f 6c 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a )....?.$dsninfo['role'].:.null;.
1a720 0a 20 20 20 20 20 20 20 20 2f 2a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 62 68 6f 73 74 20 ........./*.........if.($dbhost.
1a740 26 26 20 24 75 73 65 72 20 26 26 20 24 70 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 &&.$user.&&.$pw).{.............$
1a760 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 conn.=.$connect_function($dbhost
1a780 2c 20 24 75 73 65 72 2c 20 24 70 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 ,.$user,.$pw);.........}.elseif.
1a7a0 28 24 64 62 68 6f 73 74 20 26 26 20 24 75 73 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ($dbhost.&&.$user).{............
1a7c0 20 24 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f .$conn.=.$connect_function($dbho
1a7e0 73 74 2c 20 24 75 73 65 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 st,.$user);.........}.elseif.($d
1a800 62 68 6f 73 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 24 63 6f bhost).{.............$conn.=.$co
1a820 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 29 3b 0a 20 20 20 20 20 20 20 nnect_function($dbhost);........
1a840 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 .}.else.{.............return.$th
1a860 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 6e 6f 20 68 6f 73 74 2c 20 75 73 65 72 20 6f 72 is->raiseError("no.host,.user.or
1a880 20 70 61 73 73 77 6f 72 64 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2a .password");.........}.........*
1a8a0 2f 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e /.........$conn.=.@call_user_fun
1a8c0 63 5f 61 72 72 61 79 28 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 2c 20 24 70 61 72 61 c_array($connect_function,.$para
1a8e0 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6e 6e 29 20 7b 0a 20 20 20 20 20 ms);.........if.(!$conn).{......
1a900 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 .......return.$this->ibaseRaiseE
1a920 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 29 3b 0a 20 rror(DB_ERROR_CONNECT_FAILED);..
1a940 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 .......}.........$this->connecti
1a960 6f 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b on.=.$conn;.........return.DB_OK
1a980 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 6f 6e 6e 65 63 74 ;.....}......function.disconnect
1a9a0 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 40 69 62 61 73 65 5f 63 ().....{.........$ret.=.@ibase_c
1a9c0 6c 6f 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 lose($this->connection);........
1a9e0 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 .$this->connection.=.null;......
1aa00 20 20 20 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 ...return.$ret;.....}......funct
1aa20 69 6f 6e 20 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 ion.simpleQuery($query).....{...
1aa40 20 20 20 20 20 20 24 69 73 6d 61 6e 69 70 20 3d 20 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 ......$ismanip.=.DB::isManip($qu
1aa60 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 20 ery);.........$this->last_query.
1aa80 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 24 74 68 69 73 =.$query;.........$query.=.$this
1aaa0 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 ->modifyQuery($query);.........$
1aac0 72 65 73 75 6c 74 20 3d 20 40 69 62 61 73 65 5f 71 75 65 72 79 28 24 74 68 69 73 2d 3e 63 6f 6e result.=.@ibase_query($this->con
1aae0 6e 65 63 74 69 6f 6e 2c 20 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 nection,.$query);.........if.(!$
1ab00 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 result).{.............return.$th
1ab20 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d is->ibaseRaiseError();.........}
1ab40 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 20 26 .........if.($this->autocommit.&
1ab60 26 20 24 69 73 6d 61 6e 69 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 62 61 73 65 5f &.$ismanip).{.............ibase_
1ab80 63 6f 6d 6d 69 74 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 commit($this->connection);......
1aba0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 ...}.........//.Determine.which.
1abc0 71 75 65 72 69 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 61 74 61 2c queries.that.should.return.data,
1abe0 20 61 6e 64 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 72 65 74 .and.which.........//.should.ret
1ac00 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 urn.an.error.code.only..........
1ac20 72 65 74 75 72 6e 20 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 20 3f 20 44 42 5f return.DB::isManip($query).?.DB_
1ac40 4f 4b 20 3a 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 OK.:.$result;.....}......//.{{{.
1ac60 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 modifyLimitQuery()....../**.....
1ac80 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 75 73 65 64 20 62 79 20 62 61 63 6b 65 6e 64 *.This.method.is.used.by.backend
1aca0 73 20 74 6f 20 61 6c 74 65 72 20 6c 69 6d 69 74 65 64 20 71 75 65 72 69 65 73 0a 20 20 20 20 2a s.to.alter.limited.queries.....*
1acc0 20 55 73 65 73 20 74 68 65 20 6e 65 77 20 46 49 52 53 54 20 6e 20 53 4b 49 50 20 6e 20 46 69 72 .Uses.the.new.FIRST.n.SKIP.n.Fir
1ace0 65 62 69 72 64 20 31 2e 30 20 73 79 6e 74 61 78 2c 20 73 6f 20 69 74 20 69 73 0a 20 20 20 20 2a ebird.1.0.syntax,.so.it.is.....*
1ad00 20 6f 6e 6c 79 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 46 69 72 65 62 69 72 64 20 31 .only.compatible.with.Firebird.1
1ad20 2e 78 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 24 71 .x.....*.....*.@param.string..$q
1ad40 75 65 72 79 20 71 75 65 72 79 20 74 6f 20 6d 6f 64 69 66 79 0a 20 20 20 20 2a 20 40 70 61 72 61 uery.query.to.modify.....*.@para
1ad60 6d 20 69 6e 74 65 67 65 72 20 24 66 72 6f 6d 20 20 74 68 65 20 72 6f 77 20 74 6f 20 73 74 61 72 m.integer.$from..the.row.to.star
1ad80 74 20 74 6f 20 66 65 74 63 68 69 6e 67 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 t.to.fetching.....*.@param.integ
1ada0 65 72 20 24 63 6f 75 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 73 20 6f 66 20 72 6f 77 73 20 74 6f er.$count.the.numbers.of.rows.to
1adc0 20 66 65 74 63 68 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 68 65 20 6e .fetch.....*.....*.@return.the.n
1ade0 65 77 20 28 6d 6f 64 69 66 69 65 64 29 20 71 75 65 72 79 0a 20 20 20 20 2a 20 40 61 75 74 68 6f ew.(modified).query.....*.@autho
1ae00 72 20 4c 75 64 6f 76 69 63 6f 20 4d 61 67 6e 6f 63 61 76 61 6c 6c 6f 20 3c 6c 75 64 6f 40 73 75 r.Ludovico.Magnocavallo.<ludo@su
1ae20 6d 61 74 72 61 73 6f 6c 75 74 69 6f 6e 73 2e 63 6f 6d 3e 0a 20 20 20 20 2a 20 40 61 63 63 65 73 matrasolutions.com>.....*.@acces
1ae40 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d s.private.....*/......function.m
1ae60 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 66 72 6f 6d 2c 20 24 odifyLimitQuery($query,.$from,.$
1ae80 63 6f 75 6e 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e count).....{.........if.($this->
1aea0 64 73 6e 5b 27 64 62 73 79 6e 74 61 78 27 5d 20 3d 3d 20 27 66 69 72 65 62 69 72 64 27 29 20 7b dsn['dbsyntax'].==.'firebird').{
1aec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 72 6f 6d 2b 2b 3b 20 2f 2f 20 53 4b 49 50 20 73 74 .............$from++;.//.SKIP.st
1aee0 61 72 74 73 20 66 72 6f 6d 20 31 2c 20 69 65 20 53 4b 49 50 20 31 20 73 74 61 72 74 73 20 66 72 arts.from.1,.ie.SKIP.1.starts.fr
1af00 6f 6d 20 74 68 65 20 66 69 72 73 74 20 72 65 63 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 om.the.first.record.............
1af20 24 71 75 65 72 79 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 5c 73 2a 73 65 6c 65 $query.=.preg_replace('/^\s*sele
1af40 63 74 5c 73 28 2e 2a 29 24 2f 69 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct\s(.*)$/is',..................
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 45 4c 45 43 54 20 46 49 52 53 54 20 24 ................."SELECT.FIRST.$
1af80 63 6f 75 6e 74 20 53 4b 49 50 20 24 66 72 6f 6d 20 24 31 22 2c 20 24 71 75 65 72 79 29 3b 0a 20 count.SKIP.$from.$1",.$query);..
1afa0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 71 75 65 72 79 3b 0a .......}.........return.$query;.
1afc0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e ....}......//.}}}.......//.{{{.n
1afe0 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 extResult()....../**......*.Move
1b000 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 69 62 61 73 65 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 .the.internal.ibase.result.point
1b020 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 61 69 6c 61 62 6c 65 20 72 65 73 75 6c 74 0a er.to.the.next.available.result.
1b040 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 20 76 61 6c 69 64 20 66 62 73 .....*......*.@param.a.valid.fbs
1b060 71 6c 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ql.result.resource......*......*
1b080 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 .@access.public......*......*.@r
1b0a0 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 65 73 75 6c 74 20 69 73 20 61 76 61 69 6c 61 eturn.true.if.a.result.is.availa
1b0c0 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 20 20 20 ble.otherwise.return.false......
1b0e0 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 65 73 75 6c 74 28 24 72 65 73 75 */.....function.nextResult($resu
1b100 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a lt).....{.........return.false;.
1b120 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 ....}......//.}}}......function.
1b140 66 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 26 24 61 72 2c 20 24 66 65 74 63 68 6d fetchInto($result,.&$ar,.$fetchm
1b160 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ode,.$rownum.=.null).....{......
1b180 20 20 20 69 66 20 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 4e 55 4c 4c 29 20 7b 0a 20 20 20 20 20 ...if.($rownum.!==.NULL).{......
1b1a0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 .......return.$this->ibaseRaiseE
1b1c0 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 rror(DB_ERROR_NOT_CAPABLE);.....
1b1e0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 26 20 44 ....}.........if.($fetchmode.&.D
1b200 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 B_FETCHMODE_ASSOC).{............
1b220 20 24 61 72 20 3d 20 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 69 62 61 73 65 5f 66 65 74 .$ar.=.get_object_vars(ibase_fet
1b240 63 68 5f 6f 62 6a 65 63 74 28 24 72 65 73 75 6c 74 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ch_object($result));............
1b260 20 69 66 20 28 24 61 72 20 26 26 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 6f 70 74 69 .if.($ar.&&.$this->options['opti
1b280 6d 69 7a 65 27 5d 20 3d 3d 20 27 70 6f 72 74 61 62 69 6c 69 74 79 27 29 20 7b 0a 20 20 20 20 20 mize'].==.'portability').{......
1b2a0 20 20 20 20 20 20 20 20 20 20 20 24 61 72 20 3d 20 61 72 72 61 79 5f 63 68 61 6e 67 65 5f 6b 65 ...........$ar.=.array_change_ke
1b2c0 79 5f 63 61 73 65 28 24 61 72 2c 20 43 41 53 45 5f 4c 4f 57 45 52 29 3b 0a 20 20 20 20 20 20 20 y_case($ar,.CASE_LOWER);........
1b2e0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 .....}.........}.else.{.........
1b300 20 20 20 20 24 61 72 20 3d 20 69 62 61 73 65 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 75 6c ....$ar.=.ibase_fetch_row($resul
1b320 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 61 72 29 20 t);.........}.........if.(!$ar).
1b340 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6d 73 67 20 3d 20 69 62 61 73 {.............if.($errmsg.=.ibas
1b360 65 5f 65 72 72 6d 73 67 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 e_errmsg()).{.................re
1b380 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 72 72 6f 72 28 6e 75 6c 6c turn.$this->ibaseRaiseError(null
1b3a0 2c 20 24 65 72 72 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b ,.$errmsg);.............}.else.{
1b3c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 .................return.null;...
1b3e0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 ..........}.........}.........re
1b400 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 turn.DB_OK;.....}......function.
1b420 66 72 65 65 52 65 73 75 6c 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 freeResult().....{.........if.(i
1b440 73 5f 72 65 73 6f 75 72 63 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 s_resource($result)).{..........
1b460 20 20 20 72 65 74 75 72 6e 20 69 62 61 73 65 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 73 ...return.ibase_free_result($res
1b480 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 ult);.........}.........if.(!iss
1b4a0 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 et($this->prepare_tokens[(int)$r
1b4c0 65 73 75 6c 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 esult])).{.............return.fa
1b4e0 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 lse;.........}.........unset($th
1b500 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d is->prepare_tokens[(int)$result]
1b520 29 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f );.........unset($this->prepare_
1b540 74 79 70 65 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 72 65 types[(int)$result]);.........re
1b560 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 turn.true;.....}......function.f
1b580 72 65 65 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 reeQuery($query).....{.........i
1b5a0 62 61 73 65 5f 66 72 65 65 5f 71 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 base_free_query($query);........
1b5c0 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f .return.true;.....}......functio
1b5e0 6e 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 n.numCols($result).....{........
1b600 20 24 63 6f 6c 73 20 3d 20 69 62 61 73 65 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 72 65 73 75 6c .$cols.=.ibase_num_fields($resul
1b620 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b 0a 20 20 20 20 20 20 t);.........if.(!$cols).{.......
1b640 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 72 ......return.$this->ibaseRaiseEr
1b660 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ror();.........}.........return.
1b680 24 63 6f 6c 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 $cols;.....}......function.prepa
1b6a0 72 65 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e re($query).....{.........$this->
1b6c0 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 24 71 75 last_query.=.$query;.........$qu
1b6e0 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 ery.=.$this->modifyQuery($query)
1b700 3b 0a 20 20 20 20 20 20 20 20 24 73 74 6d 74 20 3d 20 69 62 61 73 65 5f 70 72 65 70 61 72 65 28 ;.........$stmt.=.ibase_prepare(
1b720 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 5f 71 75 $query);.........$this->manip_qu
1b740 65 72 79 5b 28 69 6e 74 29 24 73 74 6d 74 5d 20 3d 20 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 ery[(int)$stmt].=.DB::isManip($q
1b760 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 6d 74 3b 0a 20 20 20 uery);.........return.$stmt;....
1b780 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 24 73 74 6d 74 2c 20 .}......function.execute($stmt,.
1b7a0 24 64 61 74 61 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 $data.=.false).....{.........$re
1b7c0 73 75 6c 74 20 3d 20 69 62 61 73 65 5f 65 78 65 63 75 74 65 28 24 73 74 6d 74 2c 20 24 64 61 74 sult.=.ibase_execute($stmt,.$dat
1b7e0 61 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 a);.........if.(!$result).{.....
1b800 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 ........return.$this->ibaseRaise
1b820 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 Error();.........}.........if.($
1b840 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 this->autocommit).{.............
1b860 69 62 61 73 65 5f 63 6f 6d 6d 69 74 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b ibase_commit($this->connection);
1b880 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 3a 3a 69 73 .........}.........return.DB::is
1b8a0 4d 61 6e 69 70 28 24 74 68 69 73 2d 3e 6d 61 6e 69 70 5f 71 75 65 72 79 5b 28 69 6e 74 29 24 73 Manip($this->manip_query[(int)$s
1b8c0 74 6d 74 5d 29 20 3f 20 44 42 5f 4f 4b 20 3a 20 6e 65 77 20 44 42 5f 72 65 73 75 6c 74 28 24 74 tmt]).?.DB_OK.:.new.DB_result($t
1b8e0 68 69 73 2c 20 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 his,.$result);.....}......functi
1b900 6f 6e 20 61 75 74 6f 43 6f 6d 6d 69 74 28 24 6f 6e 6f 66 66 20 3d 20 66 61 6c 73 65 29 0a 20 20 on.autoCommit($onoff.=.false)...
1b920 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 20 3d 20 ..{.........$this->autocommit.=.
1b940 24 6f 6e 6f 66 66 20 3f 20 31 20 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 $onoff.?.1.:.0;.........return.D
1b960 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 69 74 B_OK;.....}......function.commit
1b980 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 62 61 73 65 5f 63 6f ().....{.........return.ibase_co
1b9a0 6d 6d 69 74 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a mmit($this->connection);.....}..
1b9c0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 24 74 72 61 6e 73 5f 6e 75 6d ....function.rollback($trans_num
1b9e0 62 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 62 61 73 65 5f ber).....{.........return.ibase_
1ba00 72 6f 6c 6c 62 61 63 6b 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 74 72 61 rollback($this->connection,.$tra
1ba20 6e 73 5f 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 ns_number);.....}......function.
1ba40 74 72 61 6e 73 61 63 74 69 6f 6e 49 6e 69 74 28 24 74 72 61 6e 73 5f 61 72 67 73 20 3d 20 30 29 transactionInit($trans_args.=.0)
1ba60 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 72 61 6e 73 5f 61 72 67 .....{.........return.$trans_arg
1ba80 73 20 3f 20 69 62 61 73 65 5f 74 72 61 6e 73 28 24 74 72 61 6e 73 5f 61 72 67 73 2c 20 24 74 68 s.?.ibase_trans($trans_args,.$th
1baa0 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 3a 20 69 62 61 73 65 5f 74 72 61 6e 73 28 29 3b is->connection).:.ibase_trans();
1bac0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 49 64 28 29 0a 20 20 20 20 .....}......//.{{{.nextId().....
1bae0 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e /**......*.Get.the.next.value.in
1bb00 20 61 20 73 65 71 75 65 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 66 20 74 68 .a.sequence.......*......*.If.th
1bb20 65 20 73 65 71 75 65 6e 63 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 69 74 20 77 69 e.sequence.does.not.exist,.it.wi
1bb40 6c 6c 20 62 65 20 63 72 65 61 74 65 64 2c 0a 20 20 20 20 20 2a 20 75 6e 6c 65 73 73 20 24 6f 6e ll.be.created,......*.unless.$on
1bb60 64 65 6d 61 6e 64 20 69 73 20 66 61 6c 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 demand.is.false.......*......*.@
1bb80 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 access.public......*.@param.stri
1bba0 6e 67 20 24 73 65 71 5f 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 ng.$seq_name.the.name.of.the.seq
1bbc0 75 65 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 6f 6e 64 65 6d 61 uence......*.@param.bool.$ondema
1bbe0 6e 64 20 77 68 65 74 68 65 72 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 nd.whether.to.create.the.sequenc
1bc00 65 20 6f 6e 20 64 65 6d 61 6e 64 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 20 73 65 71 e.on.demand......*.@return.a.seq
1bc20 75 65 6e 63 65 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 0a 20 20 20 uence.integer,.or.a.DB.error....
1bc40 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 24 73 65 71 5f 6e 61 ..*/.....function.nextId($seq_na
1bc60 6d 65 2c 20 24 6f 6e 64 65 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 me,.$ondemand.=.true).....{.....
1bc80 20 20 20 20 24 73 71 6e 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 70 72 65 67 5f 72 65 70 6c 61 ....$sqn.=.strtoupper(preg_repla
1bca0 63 65 28 27 2f 5b 5e 61 2d 7a 30 2d 39 5f 5d 2f 69 27 2c 20 27 5f 27 2c 20 24 73 65 71 5f 6e 61 ce('/[^a-z0-9_]/i',.'_',.$seq_na
1bcc0 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 me));.........$repeat.=.0;......
1bce0 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 75 73 68 45 ...do.{.............$this->pushE
1bd00 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 29 3b rrorHandling(PEAR_ERROR_RETURN);
1bd20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 .............$result.=.$this->qu
1bd40 65 72 79 28 22 53 45 4c 45 43 54 20 47 45 4e 5f 49 44 28 24 7b 73 71 6e 7d 5f 53 45 51 2c 20 31 ery("SELECT.GEN_ID(${sqn}_SEQ,.1
1bd60 29 20 46 52 4f 4d 20 52 44 42 5c 24 47 45 4e 45 52 41 54 4f 52 53 22 0a 20 20 20 20 20 20 20 20 ).FROM.RDB\$GENERATORS".........
1bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 22 20 57 48 ............................".WH
1bda0 45 52 45 20 52 44 42 5c 24 47 45 4e 45 52 41 54 4f 52 5f 4e 41 4d 45 3d 27 24 7b 73 71 6e 7d 5f ERE.RDB\$GENERATOR_NAME='${sqn}_
1bdc0 53 45 51 27 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 6f 70 45 72 SEQ'");.............$this->popEr
1bde0 72 6f 72 48 61 6e 64 6c 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 rorHandling();.............if.($
1be00 6f 6e 64 65 6d 61 6e 64 20 26 26 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 ondemand.&&.DB::isError($result)
1be20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 20 3d 20 31 3b ).{.................$repeat.=.1;
1be40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 .................$result.=.$this
1be60 2d 3e 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 ->createSequence($seq_name);....
1be80 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 .............if.(DB::isError($re
1bea0 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 sult)).{.....................ret
1bec0 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 urn.$result;.................}..
1bee0 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........}.else.{.............
1bf00 20 20 20 20 24 72 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ....$repeat.=.0;.............}..
1bf20 20 20 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 24 72 65 70 65 61 74 29 3b 0a 20 20 20 20 20 20 .......}.while.($repeat);.......
1bf40 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 ..if.(DB::isError($result)).{...
1bf60 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 ..........return.$result;.......
1bf80 20 20 7d 0a 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 24 72 65 73 75 6c 74 2d 3e 66 65 74 63 ..}.........$arr.=.$result->fetc
1bfa0 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 29 3b 0a 20 20 20 20 hRow(DB_FETCHMODE_ORDERED);.....
1bfc0 20 20 20 20 24 72 65 73 75 6c 74 2d 3e 66 72 65 65 28 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 ....$result->free();.........ret
1bfe0 75 72 6e 20 24 61 72 72 5b 30 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 urn.$arr[0];.....}......//.}}}..
1c000 20 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 ...//.{{{.createSequence()......
1c020 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 /**......*.Create.the.sequence..
1c040 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 65 71 5f ....*......*.@param.string.$seq_
1c060 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 name.the.name.of.the.sequence...
1c080 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 ...*.@return.mixed.DB_OK.on.succ
1c0a0 65 73 73 20 6f 72 20 44 42 20 65 72 72 6f 72 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 20 ess.or.DB.error.on.error......*.
1c0c0 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 @access.public......*/.....funct
1c0e0 69 6f 6e 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 ion.createSequence($seq_name)...
1c100 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 71 6e 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 70 72 ..{.........$sqn.=.strtoupper(pr
1c120 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 61 2d 7a 30 2d 39 5f 5d 2f 69 27 2c 20 27 5f 27 2c eg_replace('/[^a-z0-9_]/i',.'_',
1c140 20 24 73 65 71 5f 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 75 73 .$seq_name));.........$this->pus
1c160 68 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e hErrorHandling(PEAR_ERROR_RETURN
1c180 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 );.........$result.=.$this->quer
1c1a0 79 28 22 43 52 45 41 54 45 20 47 45 4e 45 52 41 54 4f 52 20 24 7b 73 71 6e 7d 5f 53 45 51 22 29 y("CREATE.GENERATOR.${sqn}_SEQ")
1c1c0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 6f 70 45 72 72 6f 72 48 61 6e 64 6c 69 6e ;.........$this->popErrorHandlin
1c1e0 67 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 g();..........return.$result;...
1c200 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 72 6f 70 53 ..}......//.}}}.....//.{{{.dropS
1c220 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 72 6f 70 20 61 equence()....../**......*.Drop.a
1c240 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 .sequence......*......*.@param.s
1c260 74 72 69 6e 67 20 24 73 65 71 5f 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 tring.$seq_name.the.name.of.the.
1c280 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 sequence......*.@return.mixed.DB
1c2a0 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 20 6f 72 20 44 42 20 65 72 72 6f 72 20 6f 6e 20 65 72 _OK.on.success.or.DB.error.on.er
1c2c0 72 6f 72 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a ror......*.@access.public......*
1c2e0 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 24 73 65 71 /.....function.dropSequence($seq
1c300 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 71 6e 20 3d 20 73 74 72 74 _name).....{.........$sqn.=.strt
1c320 6f 75 70 70 65 72 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 61 2d 7a 30 2d 39 5f 5d oupper(preg_replace('/[^a-z0-9_]
1c340 2f 69 27 2c 20 27 5f 27 2c 20 24 73 65 71 5f 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 72 /i',.'_',.$seq_name));.........r
1c360 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 eturn.$this->query("DELETE.FROM.
1c380 52 44 42 5c 24 47 45 4e 45 52 41 54 4f 52 53 20 57 48 45 52 45 20 52 44 42 5c 24 47 45 4e 45 52 RDB\$GENERATORS.WHERE.RDB\$GENER
1c3a0 41 54 4f 52 5f 4e 41 4d 45 3d 27 24 7b 73 71 6e 7d 5f 53 45 51 27 22 29 3b 0a 20 20 20 20 7d 0a ATOR_NAME='${sqn}_SEQ'");.....}.
1c3c0 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 5f 69 62 61 73 65 46 69 65 .....//.}}}.....//.{{{._ibaseFie
1c3e0 6c 64 46 6c 61 67 73 28 29 0a 0a 20 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 20 2a 20 67 65 74 20 ldFlags()......./**.......*.get.
1c400 74 68 65 20 46 6c 61 67 73 20 6f 66 20 61 20 46 69 65 6c 64 0a 20 20 20 20 20 20 2a 0a 20 20 20 the.Flags.of.a.Field.......*....
1c420 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 69 65 6c 64 5f 6e 61 6d 65 20 74 ...*.@param.string.$field_name.t
1c440 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 65 6c 64 0a 20 20 20 20 20 20 2a 20 40 70 61 he.name.of.the.field.......*.@pa
1c460 72 61 6d 20 73 74 72 69 6e 67 20 24 74 61 62 6c 65 5f 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 ram.string.$table_name.the.name.
1c480 6f 66 20 74 68 65 20 74 61 62 6c 65 0a 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 2a 20 40 72 65 of.the.table.......*.......*.@re
1c4a0 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 66 6c 61 67 73 20 6f 66 20 74 68 65 20 66 69 65 turn.string.The.flags.of.the.fie
1c4c0 6c 64 20 28 22 70 72 69 6d 61 72 79 5f 6b 65 79 22 2c 20 22 75 6e 69 71 75 65 5f 6b 65 79 22 2c ld.("primary_key",."unique_key",
1c4e0 20 22 6e 6f 74 5f 6e 75 6c 6c 22 0a 20 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."not_null".......*.............
1c500 20 20 20 22 64 65 66 61 75 6c 74 22 2c 20 22 63 6f 6d 70 75 74 65 64 22 20 61 6e 64 20 22 62 6c ..."default",."computed".and."bl
1c520 6f 62 22 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 29 0a 20 20 20 20 20 20 2a 20 40 61 63 63 65 ob".are.supported).......*.@acce
1c540 73 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 66 75 6e 63 74 69 6f ss.private.......*/......functio
1c560 6e 20 5f 69 62 61 73 65 46 69 65 6c 64 46 6c 61 67 73 28 24 66 69 65 6c 64 5f 6e 61 6d 65 2c 20 n._ibaseFieldFlags($field_name,.
1c580 24 74 61 62 6c 65 5f 6e 61 6d 65 29 0a 20 20 20 20 20 7b 0a 0a 20 20 20 20 20 20 20 20 20 24 73 $table_name)......{...........$s
1c5a0 71 6c 20 3d 20 27 53 45 4c 45 43 54 20 20 52 2e 52 44 42 24 43 4f 4e 53 54 52 41 49 4e 54 5f 54 ql.=.'SELECT..R.RDB$CONSTRAINT_T
1c5c0 59 50 45 20 43 54 59 50 45 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 20 46 52 YPE.CTYPE'..................'.FR
1c5e0 4f 4d 20 20 52 44 42 24 49 4e 44 45 58 5f 53 45 47 4d 45 4e 54 53 20 49 27 0a 20 20 20 20 20 20 OM..RDB$INDEX_SEGMENTS.I'.......
1c600 20 20 20 20 20 20 20 20 20 20 2e 27 20 4a 4f 49 4e 20 20 52 44 42 24 52 45 4c 41 54 49 4f 4e 5f ...........'.JOIN..RDB$RELATION_
1c620 43 4f 4e 53 54 52 41 49 4e 54 53 20 52 20 4f 4e 20 49 2e 52 44 42 24 49 4e 44 45 58 5f 4e 41 4d CONSTRAINTS.R.ON.I.RDB$INDEX_NAM
1c640 45 3d 52 2e 52 44 42 24 49 4e 44 45 58 5f 4e 41 4d 45 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 E=R.RDB$INDEX_NAME'.............
1c660 20 20 20 2e 27 20 57 48 45 52 45 20 20 49 2e 52 44 42 24 46 49 45 4c 44 5f 4e 41 4d 45 3d 5c 27 ....'.WHERE..I.RDB$FIELD_NAME=\'
1c680 27 2e 24 66 69 65 6c 64 5f 6e 61 6d 65 2e 27 5c 27 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 '.$field_name.'\''..............
1c6a0 20 20 20 20 20 2e 27 20 41 4e 44 20 52 2e 52 44 42 24 52 45 4c 41 54 49 4f 4e 5f 4e 41 4d 45 3d ......'.AND.R.RDB$RELATION_NAME=
1c6c0 5c 27 27 2e 24 74 61 62 6c 65 5f 6e 61 6d 65 2e 27 5c 27 27 3b 0a 20 20 20 20 20 20 20 20 20 24 \''.$table_name.'\'';..........$
1c6e0 72 65 73 75 6c 74 20 3d 20 69 62 61 73 65 5f 71 75 65 72 79 28 24 74 68 69 73 2d 3e 63 6f 6e 6e result.=.ibase_query($this->conn
1c700 65 63 74 69 6f 6e 2c 20 24 73 71 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 ection,.$sql);..........if.(empt
1c720 79 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 y($result)).{..............retur
1c740 6e 20 24 74 68 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 n.$this->ibaseRaiseError();.....
1c760 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 62 6a 20 3d 20 40 69 62 61 73 .....}..........if.($obj.=.@ibas
1c780 65 5f 66 65 74 63 68 5f 6f 62 6a 65 63 74 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 e_fetch_object($result)).{......
1c7a0 20 20 20 20 20 20 20 20 69 62 61 73 65 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 73 75 6c ........ibase_free_result($resul
1c7c0 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 2d t);..............if.(isset($obj-
1c7e0 3e 43 54 59 50 45 29 20 20 26 26 20 74 72 69 6d 28 24 6f 62 6a 2d 3e 43 54 59 50 45 29 20 3d 3d >CTYPE)..&&.trim($obj->CTYPE).==
1c800 20 27 50 52 49 4d 41 52 59 20 4b 45 59 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'PRIMARY.KEY').{...............
1c820 20 20 20 24 66 6c 61 67 73 20 3d 20 27 70 72 69 6d 61 72 79 5f 6b 65 79 20 27 3b 0a 20 20 20 20 ...$flags.=.'primary_key.';.....
1c840 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 .........}..............if.(isse
1c860 74 28 24 6f 62 6a 2d 3e 43 54 59 50 45 29 20 20 26 26 20 74 72 69 6d 28 24 6f 62 6a 2d 3e 43 54 t($obj->CTYPE)..&&.trim($obj->CT
1c880 59 50 45 29 20 3d 3d 20 27 55 4e 49 51 55 45 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 YPE).==.'UNIQUE').{.............
1c8a0 20 20 20 20 20 24 66 6c 61 67 73 20 2e 3d 20 27 75 6e 69 71 75 65 5f 6b 65 79 20 27 3b 0a 20 20 .....$flags..=.'unique_key.';...
1c8c0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ...........}..........}.........
1c8e0 20 20 24 73 71 6c 20 3d 20 27 53 45 4c 45 43 54 20 20 52 2e 52 44 42 24 4e 55 4c 4c 5f 46 4c 41 ..$sql.=.'SELECT..R.RDB$NULL_FLA
1c900 47 20 41 53 20 4e 46 4c 41 47 2c 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 G.AS.NFLAG,'....................
1c920 20 20 20 2e 27 20 52 2e 52 44 42 24 44 45 46 41 55 4c 54 5f 53 4f 55 52 43 45 20 41 53 20 44 53 ....'.R.RDB$DEFAULT_SOURCE.AS.DS
1c940 4f 55 52 43 45 2c 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 OURCE,'........................'
1c960 20 46 2e 52 44 42 24 46 49 45 4c 44 5f 54 59 50 45 20 41 53 20 46 54 59 50 45 2c 27 0a 20 20 20 .F.RDB$FIELD_TYPE.AS.FTYPE,'....
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 20 46 2e 52 44 42 24 43 4f 4d 50 ....................'.F.RDB$COMP
1c9a0 55 54 45 44 5f 53 4f 55 52 43 45 20 41 53 20 43 53 4f 55 52 43 45 27 0a 20 20 20 20 20 20 20 20 UTED_SOURCE.AS.CSOURCE'.........
1c9c0 20 20 20 20 20 20 20 20 2e 27 20 46 52 4f 4d 20 20 52 44 42 24 52 45 4c 41 54 49 4f 4e 5f 46 49 .........'.FROM..RDB$RELATION_FI
1c9e0 45 4c 44 53 20 52 20 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 20 4a 4f 49 4e ELDS.R.'..................'.JOIN
1ca00 20 20 52 44 42 24 46 49 45 4c 44 53 20 46 20 4f 4e 20 52 2e 52 44 42 24 46 49 45 4c 44 5f 53 4f ..RDB$FIELDS.F.ON.R.RDB$FIELD_SO
1ca20 55 52 43 45 3d 46 2e 52 44 42 24 46 49 45 4c 44 5f 4e 41 4d 45 27 0a 20 20 20 20 20 20 20 20 20 URCE=F.RDB$FIELD_NAME'..........
1ca40 20 20 20 20 20 20 2e 27 20 57 48 45 52 45 20 20 52 2e 52 44 42 24 52 45 4c 41 54 49 4f 4e 5f 4e .......'.WHERE..R.RDB$RELATION_N
1ca60 41 4d 45 3d 5c 27 27 2e 24 74 61 62 6c 65 5f 6e 61 6d 65 2e 27 5c 27 27 0a 20 20 20 20 20 20 20 AME=\''.$table_name.'\''........
1ca80 20 20 20 20 20 20 20 20 20 20 2e 27 20 41 4e 44 20 20 52 2e 52 44 42 24 46 49 45 4c 44 5f 4e 41 ...........'.AND..R.RDB$FIELD_NA
1caa0 4d 45 3d 5c 27 27 2e 24 66 69 65 6c 64 5f 6e 61 6d 65 2e 27 5c 27 27 3b 0a 20 20 20 20 20 20 20 ME=\''.$field_name.'\'';........
1cac0 20 20 24 72 65 73 75 6c 74 20 3d 20 69 62 61 73 65 5f 71 75 65 72 79 28 24 74 68 69 73 2d 3e 63 ..$result.=.ibase_query($this->c
1cae0 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 73 71 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 65 onnection,.$sql);..........if.(e
1cb00 6d 70 74 79 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 mpty($result)).{..............re
1cb20 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 turn.$this->ibaseRaiseError();..
1cb40 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 62 6a 20 3d 20 40 69 ........}..........if.($obj.=.@i
1cb60 62 61 73 65 5f 66 65 74 63 68 5f 6f 62 6a 65 63 74 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 base_fetch_object($result)).{...
1cb80 20 20 20 20 20 20 20 20 20 20 20 69 62 61 73 65 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 ...........ibase_free_result($re
1cba0 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f sult);..............if.(isset($o
1cbc0 62 6a 2d 3e 4e 46 4c 41 47 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 bj->NFLAG)).{..................$
1cbe0 66 6c 61 67 73 20 2e 3d 20 27 6e 6f 74 5f 6e 75 6c 6c 20 27 3b 0a 20 20 20 20 20 20 20 20 20 20 flags..=.'not_null.';...........
1cc00 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a ...}..............if.(isset($obj
1cc20 2d 3e 44 53 4f 55 52 43 45 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ->DSOURCE)).{..................$
1cc40 66 6c 61 67 73 20 2e 3d 20 27 64 65 66 61 75 6c 74 20 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 flags..=.'default.';............
1cc60 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 2d ..}..............if.(isset($obj-
1cc80 3e 43 53 4f 55 52 43 45 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 >CSOURCE)).{..................$f
1cca0 6c 61 67 73 20 2e 3d 20 27 63 6f 6d 70 75 74 65 64 20 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 lags..=.'computed.';............
1ccc0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 2d ..}..............if.(isset($obj-
1cce0 3e 46 54 59 50 45 29 20 20 26 26 20 24 6f 62 6a 2d 3e 46 54 59 50 45 20 3d 3d 20 32 36 31 29 20 >FTYPE)..&&.$obj->FTYPE.==.261).
1cd00 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6c 61 67 73 20 2e 3d 20 27 62 6c {..................$flags..=.'bl
1cd20 6f 62 20 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 7d 0a ob.';..............}..........}.
1cd40 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 69 6d 28 24 66 6c 61 67 73 29 3b 0a 20 ..........return.trim($flags);..
1cd60 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 20 2f 2f 20 7b 7b 7b 20 74 ....}.......//.}}}......//.{{{.t
1cd80 61 62 6c 65 49 6e 66 6f 28 29 0a 0a 20 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 20 2a 20 52 65 74 ableInfo()......./**.......*.Ret
1cda0 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 74 61 62 6c 65 20 6f urns.information.about.a.table.o
1cdc0 72 20 61 20 72 65 73 75 6c 74 20 73 65 74 0a 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 2a 20 4e r.a.result.set.......*.......*.N
1cde0 4f 54 45 3a 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 27 66 6c 61 67 73 27 61 6e 64 20 OTE:.doesn't.support.'flags'and.
1ce00 27 74 61 62 6c 65 27 20 69 66 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 64 62 5f 72 65 73 75 'table'.if.called.from.a.db_resu
1ce20 6c 74 0a 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 6d 69 78 65 64 lt.......*.......*.@param..mixed
1ce40 20 24 72 65 73 6f 75 72 63 65 20 49 6e 74 65 72 62 61 73 65 20 72 65 73 75 6c 74 20 69 64 65 6e .$resource.Interbase.result.iden
1ce60 74 69 66 69 65 72 20 6f 72 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 2a 20 40 70 61 tifier.or.table.name.......*.@pa
1ce80 72 61 6d 20 20 69 6e 74 20 24 6d 6f 64 65 20 41 20 76 61 6c 69 64 20 74 61 62 6c 65 49 6e 66 6f ram..int.$mode.A.valid.tableInfo
1cea0 20 6d 6f 64 65 20 28 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 6f .mode.(DB_TABLEINFO_ORDERTABLE.o
1cec0 72 0a 20 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 54 r.......*...................DB_T
1cee0 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 0a 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 2a 20 ABLEINFO_ORDER).......*.......*.
1cf00 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 6e 20 61 72 72 61 79 20 77 69 74 68 20 61 6c 6c 20 @return.array.An.array.with.all.
1cf20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 66 75 the.information.......*/......fu
1cf40 6e 63 74 69 6f 6e 20 74 61 62 6c 65 49 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6d 6f 64 65 20 nction.tableInfo($result,.$mode.
1cf60 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d =.null)......{..........$count.=
1cf80 20 30 3b 0a 20 20 20 20 20 20 20 20 20 24 69 64 20 20 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 .0;..........$id....=.0;........
1cfa0 20 20 24 72 65 73 20 20 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 2f 2a ..$res...=.array();.........../*
1cfc0 0a 20 20 20 20 20 20 20 20 20 20 2a 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 24 6d 6f 64 65 2c ...........*.depending.on.$mode,
1cfe0 20 6d 65 74 61 64 61 74 61 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 .metadata.returns.the.following.
1d000 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 20 2a 20 values:...........*...........*.
1d020 2d 20 6d 6f 64 65 20 69 73 20 66 61 6c 73 65 20 28 64 65 66 61 75 6c 74 29 3a 0a 20 20 20 20 20 -.mode.is.false.(default):......
1d040 20 20 20 20 20 2a 20 24 72 65 73 75 6c 74 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 .....*.$result[]:...........*...
1d060 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 [0]["table"]..table.name........
1d080 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 69 65 6c 64 20 6e 61 6d 65 0a ...*...[0]["name"]...field.name.
1d0a0 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 5d 20 20 20 66 69 65 6c ..........*...[0]["type"]...fiel
1d0c0 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6c 65 6e 22 5d 20 d.type...........*...[0]["len"].
1d0e0 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 ...field.length...........*...[0
1d100 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 ]["flags"]..field.flags.........
1d120 20 20 2a 0a 20 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f 54 41 42 ..*...........*.-.mode.is.DB_TAB
1d140 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 20 20 2a 20 24 72 65 73 75 6c 74 LEINFO_ORDER...........*.$result
1d160 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6e 75 6d 5f 66 69 65 6c 64 73 22 5d []:...........*...["num_fields"]
1d180 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 74 61 64 61 74 61 20 72 65 63 6f 72 64 73 0a 20 20 20 20 .number.of.metadata.records.....
1d1a0 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 ......*...[0]["table"]..table.na
1d1c0 6d 65 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 me...........*...[0]["name"]...f
1d1e0 69 65 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 ield.name...........*...[0]["typ
1d200 65 22 5d 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b e"]...field.type...........*...[
1d220 30 5d 5b 22 6c 65 6e 22 5d 20 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 0]["len"]....field.length.......
1d240 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 ....*...[0]["flags"]..field.flag
1d260 73 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 22 5d 5b 66 69 65 6c 64 20 s...........*...["order"][field.
1d280 6e 61 6d 65 5d 20 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 20 6e 61 6d 65 64 20 22 66 69 65 name]..index.of.field.named."fie
1d2a0 6c 64 20 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 68 65 20 6c 61 73 74 20 ld.name"...........*...The.last.
1d2c0 6f 6e 65 20 69 73 20 75 73 65 64 2c 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 20 66 69 65 6c 64 one.is.used,.if.you.have.a.field
1d2e0 20 6e 61 6d 65 2c 20 62 75 74 20 6e 6f 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 20 20 20 20 2a .name,.but.no.index............*
1d300 20 20 20 54 65 73 74 3a 20 20 69 66 20 28 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 6d 65 74 ...Test:..if.(isset($result['met
1d320 61 27 5d 5b 27 6d 79 66 69 65 6c 64 27 5d 29 29 20 7b 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 a']['myfield'])).{..............
1d340 20 2a 0a 20 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f 54 41 42 4c .*...........*.-.mode.is.DB_TABL
1d360 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 EINFO_ORDERTABLE...........*....
1d380 74 68 65 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 the.same.as.above..but.additiona
1d3a0 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 74 61 62 6c 65 22 5d lly...........*...["ordertable"]
1d3c0 5b 74 61 62 6c 65 20 6e 61 6d 65 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d 20 69 6e 64 65 78 20 6f [table.name][field.name].index.o
1d3e0 66 20 66 69 65 6c 64 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 6e 61 6d 65 64 20 22 f.field...........*......named."
1d400 66 69 65 6c 64 20 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 field.name"...........*.........
1d420 20 20 2a 20 20 20 20 20 20 74 68 69 73 20 69 73 2c 20 62 65 63 61 75 73 65 20 69 66 20 79 6f 75 ..*......this.is,.because.if.you
1d440 20 68 61 76 65 20 66 69 65 6c 64 73 20 66 72 6f 6d 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 .have.fields.from.different.....
1d460 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 61 62 6c 65 73 20 77 69 74 68 20 74 68 65 20 73 61 6d ......*......tables.with.the.sam
1d480 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 2a 20 74 68 65 79 20 6f 76 65 72 72 69 64 65 20 65 61 63 e.field.name.*.they.override.eac
1d4a0 68 0a 20 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 6f 74 68 65 72 20 77 69 74 68 20 44 42 h...........*......other.with.DB
1d4c0 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 _TABLEINFO_ORDER...........*....
1d4e0 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 79 6f 75 20 63 61 6e 20 63 6f 6d 62 69 6e 65 20 44 42 .......*......you.can.combine.DB
1d500 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 2a _TABLEINFO_ORDER.and...........*
1d520 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 77 69 ......DB_TABLEINFO_ORDERTABLE.wi
1d540 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 7c 0a 20 20 20 20 20 20 20 20 th.DB_TABLEINFO_ORDER.|.........
1d560 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 ..*......DB_TABLEINFO_ORDERTABLE
1d580 20 2a 20 6f 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 46 55 4c 4c 0a 20 20 20 .*.or.with.DB_TABLEINFO_FULL....
1d5a0 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 24 72 65 73 75 6c .......*/...........//.if.$resul
1d5c0 74 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 74 68 65 6e 20 77 65 20 77 61 6e 74 20 69 6e 66 6f t.is.a.string,.then.we.want.info
1d5e0 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 74 61 62 6c rmation.about.a..........//.tabl
1d600 65 20 77 69 74 68 6f 75 74 20 61 20 72 65 73 75 6c 74 73 65 74 0a 0a 20 20 20 20 20 20 20 20 20 e.without.a.resultset...........
1d620 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 if.(is_string($result)).{.......
1d640 20 20 20 20 20 20 20 24 69 64 20 3d 20 69 62 61 73 65 5f 71 75 65 72 79 28 24 74 68 69 73 2d 3e .......$id.=.ibase_query($this->
1d660 63 6f 6e 6e 65 63 74 69 6f 6e 2c 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 24 72 65 73 75 6c connection,"SELECT.*.FROM.$resul
1d680 74 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 t");..............if.(empty($id)
1d6a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 ).{..................return.$thi
1d6c0 73 2d 3e 69 62 61 73 65 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 s->ibaseRaiseError();...........
1d6e0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 65 6c 73 65 20 77 ...}..........}.else.{.//.else.w
1d700 65 20 77 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 72 65 73 75 6c e.want.information.about.a.resul
1d720 74 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 24 72 65 73 75 6c 74 3b tset..............$id.=.$result;
1d740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 29 20 7b 0a ..............if.(empty($id)).{.
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 .................return.$this->i
1d780 62 61 73 65 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d baseRaiseError();..............}
1d7a0 0a 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 40 ..........}...........$count.=.@
1d7c0 69 62 61 73 65 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 69 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 ibase_num_fields($id);..........
1d7e0 20 2f 2f 20 6d 61 64 65 20 74 68 69 73 20 49 46 20 64 75 65 20 74 6f 20 70 65 72 66 6f 72 6d 61 .//.made.this.IF.due.to.performa
1d800 6e 63 65 20 28 6f 6e 65 20 69 66 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 24 63 6f 75 6e nce.(one.if.is.faster.than.$coun
1d820 74 20 69 66 27 73 29 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 6d 6f 64 65 t.if's)..........if.(empty($mode
1d840 29 29 20 7b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 )).{...............for.($i=0;.$i
1d860 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <$count;.$i++).{................
1d880 20 20 24 69 6e 66 6f 20 3d 20 40 69 62 61 73 65 5f 66 69 65 6c 64 5f 69 6e 66 6f 28 24 69 64 2c ..$info.=.@ibase_field_info($id,
1d8a0 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b .$i);..................$res[$i][
1d8c0 27 74 61 62 6c 65 27 5d 20 3d 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 'table'].=.(is_string($result)).
1d8e0 3f 20 24 72 65 73 75 6c 74 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ?.$result.:.'';.................
1d900 20 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 20 20 3d 20 24 69 6e 66 6f 5b 27 6e 61 6d 65 .$res[$i]['name']..=.$info['name
1d920 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 '];..................$res[$i]['t
1d940 79 70 65 27 5d 20 20 3d 20 24 69 6e 66 6f 5b 27 74 79 70 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 ype']..=.$info['type'];.........
1d960 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6c 65 6e 27 5d 20 20 20 3d 20 24 69 6e .........$res[$i]['len']...=.$in
1d980 66 6f 5b 27 6c 65 6e 67 74 68 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 fo['length'];..................$
1d9a0 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d 20 3d 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 res[$i]['flags'].=.(is_string($r
1d9c0 65 73 75 6c 74 29 29 20 3f 20 24 74 68 69 73 2d 3e 5f 69 62 61 73 65 46 69 65 6c 64 46 6c 61 67 esult)).?.$this->_ibaseFieldFlag
1d9e0 73 28 24 69 6e 66 6f 5b 27 6e 61 6d 65 27 5d 2c 20 24 72 65 73 75 6c 74 29 20 3a 20 27 27 3b 0a s($info['name'],.$result).:.'';.
1da00 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 .............}...........}.else.
1da20 7b 20 2f 2f 20 66 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 22 6e 75 6d {.//.full..............$res["num
1da40 5f 66 69 65 6c 64 73 22 5d 3d 20 24 63 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 _fields"]=.$count;..............
1da60 20 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 .for.($i=0;.$i<$count;.$i++).{..
1da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 3d 20 40 69 62 61 73 65 5f 66 ................$info.=.@ibase_f
1daa0 69 65 6c 64 5f 69 6e 66 6f 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ield_info($id,.$i);.............
1dac0 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 20 3d 20 28 69 73 5f 73 74 72 .....$res[$i]['table'].=.(is_str
1dae0 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 24 72 65 73 75 6c 74 20 3a 20 27 27 3b 0a 20 20 ing($result)).?.$result.:.'';...
1db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 20 ...............$res[$i]['name'].
1db20 20 3d 20 24 69 6e 66 6f 5b 27 6e 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.$info['name'];...............
1db40 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 20 3d 20 24 69 6e 66 6f 5b 27 74 79 ...$res[$i]['type']..=.$info['ty
1db60 70 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b pe'];..................$res[$i][
1db80 27 6c 65 6e 27 5d 20 20 20 3d 20 24 69 6e 66 6f 5b 27 6c 65 6e 67 74 68 27 5d 3b 0a 20 20 20 20 'len']...=.$info['length'];.....
1dba0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d 20 3d .............$res[$i]['flags'].=
1dbc0 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 24 74 68 69 73 2d 3e 5f .(is_string($result)).?.$this->_
1dbe0 69 62 61 73 65 46 69 65 6c 64 46 6c 61 67 73 28 24 69 6e 66 6f 5b 27 6e 61 6d 65 27 5d 2c 20 24 ibaseFieldFlags($info['name'],.$
1dc00 72 65 73 75 6c 74 29 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 result).:.'';..................i
1dc20 66 20 28 24 6d 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 20 7b f.($mode.&.DB_TABLEINFO_ORDER).{
1dc40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 ......................$res['orde
1dc60 72 27 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 r'][$res[$i]['name']].=.$i;.....
1dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
1dca0 69 66 20 28 24 6d 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 if.($mode.&.DB_TABLEINFO_ORDERTA
1dcc0 42 4c 45 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 BLE).{......................$res
1dce0 5b 27 6f 72 64 65 72 74 61 62 6c 65 27 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d ['ordertable'][$res[$i]['table']
1dd00 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 ][$res[$i]['name']].=.$i;.......
1dd20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ...........}..............}.....
1dd40 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 66 72 65 65 20 74 68 65 20 72 65 73 .....}...........//.free.the.res
1dd60 75 6c 74 20 6f 6e 6c 79 20 69 66 20 77 65 20 77 65 72 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 ult.only.if.we.were.called.on.a.
1dd80 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 table..........if.(is_resource($
1dda0 69 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 62 61 73 65 5f 66 72 65 65 5f 72 id)).{..............ibase_free_r
1ddc0 65 73 75 6c 74 28 24 69 64 29 3b 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 esult($id);..........}..........
1dde0 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a return.$res;......}......//.}}}.
1de00 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 29 0a 0a 20 20 ....//.{{{.getSpecialQuery()....
1de20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 71 75 65 72 79 20 6e 65 ../**.....*.Returns.the.query.ne
1de40 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 20 62 61 63 6b 65 6e 64 20 69 6e 66 6f 0a 20 20 eded.to.get.some.backend.info...
1de60 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 70 65 20 57 68 61 74 20 6b 69 6e ..*.@param.string.$type.What.kin
1de80 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 0a 20 d.of.info.you.want.to.retrieve..
1dea0 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 53 51 4c 20 71 75 65 72 ...*.@return.string.The.SQL.quer
1dec0 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 y.string.....*/.....function.get
1dee0 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 SpecialQuery($type).....{.......
1df00 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ..switch.($type).{.............c
1df20 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c ase.'tables':.............defaul
1df40 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a t:.................return.null;.
1df60 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 71 6c 3b 0a 20 ........}.........return.$sql;..
1df80 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 69 62 61 73 ...}......//.}}}.....//.{{{.ibas
1dfa0 65 52 61 69 73 65 45 72 72 6f 72 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 62 61 73 eRaiseError()......function.ibas
1dfc0 65 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 20 3d 20 6e 75 6c 6c 2c 20 24 65 72 72 6d eRaiseError($errno.=.null,.$errm
1dfe0 73 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 sg.=.null).....{.........if.($er
1e000 72 6d 73 67 20 3d 3d 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6d rmsg.===.null).............$errm
1e020 73 67 20 3d 20 69 62 61 73 65 5f 65 72 72 6d 73 67 28 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 sg.=.ibase_errmsg();.........//.
1e040 6d 65 6d 6f 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 62 61 73 65 20 70 68 70 20 6d 6f 64 75 6c memo.for.the.interbase.php.modul
1e060 65 20 68 61 63 6b 65 72 73 3a 20 77 65 20 6e 65 65 64 20 73 6f 6d 65 74 68 69 6e 67 20 73 69 6d e.hackers:.we.need.something.sim
1e080 69 6c 61 72 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 6d 79 73 71 6c 5f 65 72 72 6e 6f 28 29 ilar.........//.to.mysql_errno()
1e0a0 20 74 6f 20 72 65 74 72 69 65 76 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 69 6e 73 74 65 61 64 .to.retrieve.error.codes.instead
1e0c0 20 6f 66 20 74 68 69 73 20 75 67 6c 79 20 68 61 63 6b 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 .of.this.ugly.hack.........if.(p
1e0e0 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 5b 5e 30 2d 39 5c 2d 5d 2b 29 28 5b 30 2d 39 5c 2d 5d reg_match('/^([^0-9\-]+)([0-9\-]
1e100 2b 29 5c 73 2b 28 2e 2a 29 24 2f 27 2c 20 24 65 72 72 6d 73 67 2c 20 24 6d 29 29 20 7b 0a 20 20 +)\s+(.*)$/',.$errmsg,.$m)).{...
1e120 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6e 6f 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b ..........if.($errno.===.null).{
1e140 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 62 61 73 65 5f 65 72 72 6e 6f 20 3d 20 .................$ibase_errno.=.
1e160 28 69 6e 74 29 24 6d 5b 32 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 (int)$m[2];.................//.t
1e180 72 79 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 49 6e 74 65 72 62 61 73 65 20 65 72 72 6f 72 20 ry.to.interpret.Interbase.error.
1e1a0 63 6f 64 65 20 28 74 68 61 74 27 73 20 77 68 79 20 77 65 20 6e 65 65 64 20 69 62 61 73 65 5f 65 code.(that's.why.we.need.ibase_e
1e1c0 72 72 6e 6f 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 20 74 68 65 rrno().................//.in.the
1e1e0 20 69 6e 74 65 72 62 61 73 65 20 6d 6f 64 75 6c 65 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 .interbase.module.to.return.the.
1e200 72 65 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 real.error.code)................
1e220 20 73 77 69 74 63 68 20 28 24 69 62 61 73 65 5f 65 72 72 6e 6f 29 20 7b 0a 20 20 20 20 20 20 20 .switch.($ibase_errno).{........
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 2d 32 30 34 3a 0a 20 20 20 20 20 20 20 20 .............case.-204:.........
1e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 69 6e 74 28 73 74 72 70 6f ................if.(is_int(strpo
1e280 73 28 24 6d 5b 33 5d 2c 20 27 54 61 62 6c 65 20 75 6e 6b 6e 6f 77 6e 27 29 29 29 20 7b 0a 20 20 s($m[3],.'Table.unknown'))).{...
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6e 6f ..........................$errno
1e2c0 20 3d 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 3b 0a 20 20 20 20 20 20 20 .=.DB_ERROR_NOSUCHTABLE;........
1e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
1e300 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......break;...................
1e320 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..default:......................
1e340 20 20 20 24 65 72 72 6e 6f 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 24 69 62 ...$errno.=.$this->errorCode($ib
1e360 61 73 65 5f 65 72 72 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ase_errno);.................}...
1e380 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6d 73 67 20 ..........}.............$errmsg.
1e3a0 3d 20 24 6d 5b 32 5d 20 2e 20 27 20 27 20 2e 20 24 6d 5b 33 5d 3b 0a 20 20 20 20 20 20 20 20 7d =.$m[2]...'.'...$m[3];.........}
1e3c0 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ..................return.$this->
1e3e0 72 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 raiseError($errno,.null,.null,.$
1e400 65 72 72 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 errmsg,.........................
1e420 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f $this->last_query);.....}....../
1e440 2f 20 7d 7d 7d 0a 0a 7d 0a 0a 2f 2a 0a 20 2a 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3a /.}}}..}../*..*.Local.variables:
1e460 0a 20 2a 20 74 61 62 2d 77 69 64 74 68 3a 20 34 0a 20 2a 20 63 2d 62 61 73 69 63 2d 6f 66 66 73 ..*.tab-width:.4..*.c-basic-offs
1e480 65 74 3a 20 34 0a 20 2a 20 45 6e 64 3a 0a 20 2a 2f 0a 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 et:.4..*.End:..*/..?>...........
1e4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e600 44 42 2d 31 2e 33 2f 44 42 2f 69 66 78 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/ifx.php...............
1e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
1e680 20 20 32 33 34 34 31 20 20 37 34 37 34 31 37 32 30 32 37 20 20 20 36 34 37 34 20 00 00 00 00 00 ..23441..7474172027...6474......
1e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e800 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
1e820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1e840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
1e860 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
1e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
1e8a0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
1e8c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1e8e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
1e900 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
1e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
1e940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1e960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1e980 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
1e9a0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
1e9c0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
1e9e0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
1ea00 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
1ea20 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
1ea40 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
1ea60 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
1ea80 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
1eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
1eac0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
1eae0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
1eb00 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
1eb20 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
1eb40 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
1eb60 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
1eb80 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
1eba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1ebc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1ebe0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 54 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 20 ---+.//.|.Author:.Tomas.V.V.Cox.
1ec00 3c 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <cox@idecnet.com>...............
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
1ec40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1ec60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
1ec80 2f 2f 20 24 49 64 3a 20 69 66 78 2e 70 68 70 2c 76 20 31 2e 34 20 32 30 30 32 2f 30 35 2f 32 36 //.$Id:.ifx.php,v.1.4.2002/05/26
1eca0 20 31 34 3a 34 31 3a 32 37 20 63 6f 78 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 62 61 .14:41:27.cox.Exp.$.//.//.Databa
1ecc0 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 20 64 se.independent.query.interface.d
1ece0 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 49 6e 66 6f 72 6d 69 78 0a 2f 2f 20 efinition.for.PHP's.Informix.//.
1ed00 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 2f 2f 20 4c 65 67 65 6e 64 3a 0a 2f 2f 20 46 6f 72 extension..//..//.Legend:.//.For
1ed20 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 49 6e 66 6f 72 6d 69 78 20 65 72 72 6f 72 73 20 73 65 .more.info.on.Informix.errors.se
1ed40 65 3a 0a 2f 2f 20 68 74 74 70 3a 2f 2f 77 77 77 2e 69 6e 66 6f 72 6d 69 78 2e 63 6f 6d 2f 61 6e e:.//.http://www.informix.com/an
1ed60 73 77 65 72 73 2f 65 6e 67 6c 69 73 68 2f 69 65 72 72 6f 72 73 2e 68 74 6d 0a 2f 2f 0a 2f 2f 20 swers/english/ierrors.htm.//.//.
1ed80 54 4f 44 4f 3a 0a 2f 2f 20 20 2d 20 73 65 74 20 6e 65 65 64 65 64 20 65 6e 76 20 49 6e 66 6f 72 TODO:.//..-.set.needed.env.Infor
1eda0 6d 69 78 20 76 61 72 73 20 6f 6e 20 63 6f 6e 6e 65 63 74 0a 2f 2f 20 20 2d 20 69 6d 70 6c 65 6d mix.vars.on.connect.//..-.implem
1edc0 65 6e 74 20 6e 61 74 69 76 65 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 0a 0a 72 65 71 75 ent.native.prepare/execute..requ
1ede0 69 72 65 5f 6f 6e 63 65 20 27 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a 63 6c 61 73 73 ire_once.'DB/common.php';..class
1ee00 20 44 42 5f 69 66 78 20 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 20 20 20 .DB_ifx.extends.DB_common.{.....
1ee20 76 61 72 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 61 66 66 65 63 74 var.$connection;.....var.$affect
1ee40 65 64 20 3d 20 30 3b 0a 20 20 20 20 76 61 72 20 24 64 73 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a ed.=.0;.....var.$dsn.=.array();.
1ee60 20 20 20 20 76 61 72 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 ....var.$fetchmode.=.DB_FETCHMOD
1ee80 45 5f 4f 52 44 45 52 45 44 3b 20 2f 2a 20 44 65 66 61 75 6c 74 20 66 65 74 63 68 20 6d 6f 64 65 E_ORDERED;./*.Default.fetch.mode
1eea0 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 69 66 78 28 29 0a 20 20 20 20 7b .*/......function.DB_ifx().....{
1eec0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 69 66 78 27 3b .........$this->phptype.=.'ifx';
1eee0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 69 66 78 27 .........$this->dbsyntax.=.'ifx'
1ef00 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 ;.........$this->features.=.arra
1ef20 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e 20 66 61 6c 73 y(.............'prepare'.=>.fals
1ef40 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 75 e,.............'pconnect'.=>.tru
1ef60 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d 3e e,.............'transactions'.=>
1ef80 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 3d 3e 20 27 .false,.............'limit'.=>.'
1efa0 65 6d 75 6c 61 74 65 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 emulate'.........);.........$thi
1efc0 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 s->errorcode_map.=.array(.......
1efe0 20 20 20 20 20 20 27 2d 32 30 31 27 20 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 ......'-201'....=>.DB_ERROR_SYNT
1f000 41 58 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d 32 30 36 27 20 20 20 20 3d 3e 20 44 42 5f AX,.............'-206'....=>.DB_
1f020 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 ERROR_NOSUCHTABLE,.............'
1f040 2d 32 31 37 27 20 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 -217'....=>.DB_ERROR_NOSUCHFIELD
1f060 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d 33 32 39 27 20 20 20 20 3d 3e 20 44 42 5f 45 52 ,.............'-329'....=>.DB_ER
1f080 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d ROR_NODBSELECTED,.............'-
1f0a0 31 32 30 34 27 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 1204'...=>.DB_ERROR_INVALID_DATE
1f0c0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d 31 32 30 35 27 20 20 20 3d 3e 20 44 42 5f 45 52 ,.............'-1205'...=>.DB_ER
1f0e0 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d ROR_INVALID_DATE,.............'-
1f100 31 32 30 36 27 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 1206'...=>.DB_ERROR_INVALID_DATE
1f120 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d 31 32 30 39 27 20 20 20 3d 3e 20 44 42 5f 45 52 ,.............'-1209'...=>.DB_ER
1f140 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d ROR_INVALID_DATE,.............'-
1f160 31 32 31 30 27 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 1210'...=>.DB_ERROR_INVALID_DATE
1f180 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2d 31 32 31 32 27 20 20 20 3d 3e 20 44 42 5f 45 52 ,.............'-1212'...=>.DB_ER
1f1a0 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 0a 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d ROR_INVALID_DATE........);.....}
1f1c0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 6e 65 63 74 20 74 6f 20 61 20 64 61 ....../**......*.Connect.to.a.da
1f1e0 74 61 62 61 73 65 20 61 6e 64 20 6c 6f 67 20 69 6e 20 61 73 20 74 68 65 20 73 70 65 63 69 66 69 tabase.and.log.in.as.the.specifi
1f200 65 64 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 64 ed.user.......*......*.@param.$d
1f220 73 6e 20 74 68 65 20 64 61 74 61 20 73 6f 75 72 63 65 20 6e 61 6d 65 20 28 73 65 65 20 44 42 3a sn.the.data.source.name.(see.DB:
1f240 3a 70 61 72 73 65 44 53 4e 20 66 6f 72 20 73 79 6e 74 61 78 29 0a 20 20 20 20 20 2a 20 40 70 61 :parseDSN.for.syntax)......*.@pa
1f260 72 61 6d 20 24 70 65 72 73 69 73 74 65 6e 74 20 28 6f 70 74 69 6f 6e 61 6c 29 20 77 68 65 74 68 ram.$persistent.(optional).wheth
1f280 65 72 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 2a 20 er.the.connection.should......*.
1f2a0 20 20 20 20 20 20 20 62 65 20 70 65 72 73 69 73 74 65 6e 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 .......be.persistent......*.....
1f2c0 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c .*.@return.int.DB_OK.on.success,
1f2e0 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 .a.DB.error.code.on.failure.....
1f300 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 26 24 64 73 6e 69 6e .*/.....function.connect(&$dsnin
1f320 66 6f 2c 20 24 70 65 72 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 fo,.$persistent.=.false).....{..
1f340 20 20 20 20 20 20 20 69 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 .......if.(!DB::assertExtension(
1f360 27 69 6e 66 6f 72 6d 69 78 27 29 20 7c 7c 20 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 'informix').||.!DB::assertExtens
1f380 69 6f 6e 28 27 49 6e 66 6f 72 6d 69 78 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 ion('Informix')).{.............r
1f3a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 eturn.$this->raiseError(DB_ERROR
1f3c0 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 20 20 20 20 20 20 20 20 7d _EXTENSION_NOT_FOUND);.........}
1f3e0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 24 64 73 6e 69 6e 66 6f 3b 0a .........$this->dsn.=.$dsninfo;.
1f400 20 20 20 20 20 20 20 20 24 64 62 68 6f 73 74 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 ........$dbhost.=.$dsninfo['host
1f420 73 70 65 63 27 5d 20 3f 20 27 40 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 spec'].?.'@'...$dsninfo['hostspe
1f440 63 27 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 24 64 62 6e 61 6d 65 20 3d 20 24 64 73 6e c'].:.'';.........$dbname.=.$dsn
1f460 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 info['database'].?.$dsninfo['dat
1f480 61 62 61 73 65 27 5d 20 2e 20 24 64 62 68 6f 73 74 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 abase']...$dbhost.:.'';.........
1f4a0 24 75 73 65 72 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3f 20 24 $user.=.$dsninfo['username'].?.$
1f4c0 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 dsninfo['username'].:.'';.......
1f4e0 20 20 24 70 77 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3f 20 24 ..$pw.=.$dsninfo['password'].?.$
1f500 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3a 20 27 27 3b 0a 0a 20 20 20 20 20 dsninfo['password'].:.'';.......
1f520 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 24 70 65 72 73 69 73 74 65 ...$connect_function.=.$persiste
1f540 6e 74 20 3f 20 27 69 66 78 5f 70 63 6f 6e 6e 65 63 74 27 20 3a 20 27 69 66 78 5f 63 6f 6e 6e 65 nt.?.'ifx_pconnect'.:.'ifx_conne
1f560 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 ct';..........$this->connection.
1f580 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 6e 61 6d 65 2c 20 24 75 =.@$connect_function($dbname,.$u
1f5a0 73 65 72 2c 20 24 70 77 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 72 65 73 6f 75 ser,.$pw);.........if.(!is_resou
1f5c0 72 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 rce($this->connection)).{.......
1f5e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 66 78 72 61 69 73 65 45 72 72 6f ......return.$this->ifxraiseErro
1f600 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 29 3b 0a 20 20 20 20 r(DB_ERROR_CONNECT_FAILED);.....
1f620 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 ....}.........return.DB_OK;.....
1f640 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 67 20 6f 75 74 20 61 6e 64 20 64 69 }....../**......*.Log.out.and.di
1f660 73 63 6f 6e 6e 65 63 74 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 sconnect.from.the.database......
1f680 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 73 .*......*.@return.bool.TRUE.on.s
1f6a0 75 63 63 65 73 73 2c 20 46 41 4c 53 45 20 69 66 20 6e 6f 74 20 63 6f 6e 6e 65 63 74 65 64 2e 0a uccess,.FALSE.if.not.connected..
1f6c0 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 6f 6e 6e 65 63 74 28 .....*/.....function.disconnect(
1f6e0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 40 69 66 78 5f 63 6c 6f 73 ).....{.........$ret.=.@ifx_clos
1f700 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 74 e($this->connection);.........$t
1f720 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 his->connection.=.null;.........
1f740 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 return.$ret;.....}....../**.....
1f760 20 2a 20 53 65 6e 64 20 61 20 71 75 65 72 79 20 74 6f 20 49 6e 66 6f 72 6d 69 78 20 61 6e 64 20 .*.Send.a.query.to.Informix.and.
1f780 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 73 20 61 0a 20 20 20 20 20 2a 20 49 return.the.results.as.a......*.I
1f7a0 6e 66 6f 72 6d 69 78 20 72 65 73 6f 75 72 63 65 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 20 20 20 nformix.resource.identifier.....
1f7c0 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 71 75 65 72 79 20 74 68 65 20 53 51 4c ..*......*.@param.$query.the.SQL
1f7e0 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 .query......*......*.@return.int
1f800 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 69 64 20 49 6e 66 6f 72 6d 69 78 20 72 65 73 75 6c 74 .returns.a.valid.Informix.result
1f820 20 66 6f 72 20 73 75 63 63 65 73 73 66 75 6c 20 53 45 4c 45 43 54 0a 20 20 20 20 20 2a 20 71 75 .for.successful.SELECT......*.qu
1f840 65 72 69 65 73 2c 20 44 42 5f 4f 4b 20 66 6f 72 20 6f 74 68 65 72 20 73 75 63 63 65 73 73 66 75 eries,.DB_OK.for.other.successfu
1f860 6c 20 71 75 65 72 69 65 73 2e 20 20 41 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 l.queries...A.DB.error.code.....
1f880 20 2a 20 69 73 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 .*.is.returned.on.failure.......
1f8a0 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 */.....function.simpleQuery($que
1f8c0 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 ry).....{.........$this->last_qu
1f8e0 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d ery.=.$query;.........if.(preg_m
1f900 61 74 63 68 28 27 2f 28 53 45 4c 45 43 54 29 2f 69 27 2c 20 24 71 75 65 72 79 29 29 20 7b 20 20 atch('/(SELECT)/i',.$query)).{..
1f920 20 20 2f 2f 54 45 53 54 4d 45 3a 20 55 73 65 20 21 44 42 3a 3a 69 73 4d 61 6e 69 70 28 29 3f 0a ..//TESTME:.Use.!DB::isManip()?.
1f940 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 73 63 72 6f 6c 6c 20 69 73 20 6e 65 65 ............//.the.scroll.is.nee
1f960 64 65 64 20 66 6f 72 20 66 65 74 63 68 69 6e 67 20 61 62 73 6f 6c 75 74 65 20 72 6f 77 20 6e 75 ded.for.fetching.absolute.row.nu
1f980 6d 62 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 20 61 20 73 65 6c 65 63 74 mbers.............//.in.a.select
1f9a0 20 71 75 65 72 79 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c .query.result.............$resul
1f9c0 74 20 3d 20 40 69 66 78 5f 71 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 74 68 69 73 2d 3e 63 6f t.=.@ifx_query($query,.$this->co
1f9e0 6e 6e 65 63 74 69 6f 6e 2c 20 49 46 58 5f 53 43 52 4f 4c 4c 29 3b 0a 20 20 20 20 20 20 20 20 7d nnection,.IFX_SCROLL);.........}
1fa00 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 69 .else.{.............$result.=.@i
1fa20 66 78 5f 71 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 fx_query($query,.$this->connecti
1fa40 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 on);.........}.........if.(!$res
1fa60 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d ult).{.............return.$this-
1fa80 3e 69 66 78 72 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 >ifxraiseError();.........}.....
1faa0 20 20 20 20 24 74 68 69 73 2d 3e 61 66 66 65 63 74 65 64 20 3d 20 69 66 78 5f 61 66 66 65 63 74 ....$this->affected.=.ifx_affect
1fac0 65 64 5f 72 6f 77 73 20 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 65 ed_rows.($result);.........//.De
1fae0 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 71 75 65 72 69 65 73 20 74 68 61 74 20 73 68 6f 75 6c termine.which.queries.that.shoul
1fb00 64 20 72 65 74 75 72 6e 20 64 61 74 61 2c 20 61 6e 64 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 d.return.data,.and.which........
1fb20 20 2f 2f 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 .//.should.return.an.error.code.
1fb40 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 only..........if.(preg_match('/(
1fb60 53 45 4c 45 43 54 29 2f 69 27 2c 20 24 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 SELECT)/i',.$query)).{..........
1fb80 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ...return.$result;.........}....
1fba0 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f .....return.DB_OK;.....}......//
1fbc0 20 7b 7b 7b 20 6e 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 .{{{.nextResult()....../**......
1fbe0 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 69 66 78 20 72 65 73 75 6c 74 20 70 *.Move.the.internal.ifx.result.p
1fc00 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 61 69 6c 61 62 6c 65 20 72 65 73 ointer.to.the.next.available.res
1fc20 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 20 76 61 6c 69 64 ult......*......*.@param.a.valid
1fc40 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 0a 20 20 .fbsql.result.resource......*...
1fc60 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ...*.@access.public......*......
1fc80 2a 20 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 65 73 75 6c 74 20 69 73 20 61 76 *.@return.true.if.a.result.is.av
1fca0 61 69 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 ailable.otherwise.return.false..
1fcc0 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 65 73 75 6c 74 28 24 ....*/.....function.nextResult($
1fce0 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c result).....{.........return.fal
1fd00 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 se;.....}......//.}}}....../**..
1fd20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 ....*.Gets.the.number.of.rows.af
1fd40 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 2e 0a 20 20 20 20 20 2a fected.by.the.last.query.......*
1fd60 20 69 66 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 20 77 61 73 20 61 20 73 65 6c 65 63 74 2c .if.the.last.query.was.a.select,
1fd80 20 72 65 74 75 72 6e 73 20 61 6e 20 5f 65 73 74 69 6d 61 74 65 5f 20 76 61 6c 75 65 2e 0a 20 20 .returns.an._estimate_.value....
1fda0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f ...*......*.@return.number.of.ro
1fdc0 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 0a 20 20 ws.affected.by.the.last.query...
1fde0 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 ...*/.....function.affectedRows(
1fe00 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 66 ).....{.........return.$this->af
1fe20 66 65 63 74 65 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 fected;.....}....../**......*.Fe
1fe40 74 63 68 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 20 28 69 74 tch.and.return.a.row.of.data.(it
1fe60 20 75 73 65 73 20 66 65 74 63 68 49 6e 74 6f 20 66 6f 72 20 74 68 61 74 29 0a 20 20 20 20 20 2a .uses.fetchInto.for.that)......*
1fe80 20 40 70 61 72 61 6d 20 20 20 24 72 65 73 75 6c 74 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e .@param...$result.............In
1fea0 66 6f 72 6d 69 78 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 formix.result.identifier......*.
1fec0 40 70 61 72 61 6d 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 20 20 20 20 66 6f 72 6d 61 74 20 6f @param...$fetchmode.....format.o
1fee0 66 20 66 65 74 63 68 65 64 20 72 6f 77 20 61 72 72 61 79 0a 20 20 20 20 20 2a 20 40 70 61 72 61 f.fetched.row.array......*.@para
1ff00 6d 20 20 20 24 72 6f 77 6e 75 6d 20 20 20 20 20 20 20 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 m...$rownum........the.absolute.
1ff20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 row.number.to.fetch......*......
1ff40 2a 20 40 72 65 74 75 72 6e 20 20 61 72 72 61 79 20 20 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 *.@return..array...a.row.of.data
1ff60 2c 20 6f 72 20 66 61 6c 73 65 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ,.or.false.on.error......*/.....
1ff80 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 77 28 24 72 65 73 75 6c 74 2c 20 24 66 65 74 63 function.fetchRow($result,.$fetc
1ffa0 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 2c 20 24 72 hmode.=.DB_FETCHMODE_DEFAULT,.$r
1ffc0 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 ownum=null).....{.........if.($f
1ffe0 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 etchmode.==.DB_FETCHMODE_DEFAULT
20000 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 ).{.............$fetchmode.=.$th
20020 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 is->fetchmode;.........}........
20040 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 49 6e 74 6f 20 28 24 72 65 73 75 6c .$res.=.$this->fetchInto.($resul
20060 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 t,.$arr,.$fetchmode,.$rownum);..
20080 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 20 21 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 .......if.($res.!==.DB_OK).{....
200a0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a .........return.$res;.........}.
200c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ........return.$arr;.....}......
200e0 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 61 20 72 6f 77 20 61 6e 64 20 72 65 74 75 72 /**......*.Fetch.a.row.and.retur
20100 6e 20 61 73 20 61 72 72 61 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d n.as.array.......*......*.@param
20120 20 20 20 24 72 65 73 75 6c 74 20 20 20 20 20 49 6e 66 6f 72 6d 69 78 20 72 65 73 75 6c 74 20 69 ...$result.....Informix.result.i
20140 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 24 72 6f 77 20 20 dentifier......*.@param...$row..
20160 20 20 20 20 20 20 20 28 72 65 66 65 72 65 6e 63 65 29 20 61 72 72 61 79 20 77 68 65 72 65 20 64 .......(reference).array.where.d
20180 61 74 61 20 66 72 6f 6d 20 74 68 65 20 72 6f 77 20 69 73 20 73 74 6f 72 65 64 0a 20 20 20 20 20 ata.from.the.row.is.stored......
201a0 2a 20 40 70 61 72 61 6d 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 20 20 20 20 20 68 6f 77 20 74 *.@param...$fetchmode......how.t
201c0 68 65 20 72 65 73 75 6c 74 69 6e 67 20 61 72 72 61 79 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 64 he.resulting.array.should.be.ind
201e0 65 78 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 24 72 6f 77 6e 75 6d 20 20 20 20 exed......*.@param...$rownum....
20200 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 20 2a 0a .the.row.number.to.fetch......*.
20220 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 61 6e 20 61 72 72 61 79 20 6f 6e 20 73 .....*.@return.int.an.array.on.s
20240 75 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 20 66 61 69 6c 75 uccess,.a.DB.error.code.on.failu
20260 72 65 2c 20 4e 55 4c 4c 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 re,.NULL......*.............if.t
20280 68 65 72 65 20 69 73 20 6e 6f 20 6d 6f 72 65 20 64 61 74 61 0a 20 20 20 20 20 2a 2f 0a 20 20 20 here.is.no.more.data......*/....
202a0 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 26 24 72 .function.fetchInto($result,.&$r
202c0 6f 77 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 ow,.$fetchmode,.$rownum=null)...
202e0 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 6e 75 6c ..{.........if.(($rownum.!==.nul
20300 6c 29 20 26 26 20 28 24 72 6f 77 6e 75 6d 20 3c 20 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 l).&&.($rownum.<.0)).{..........
20320 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ...return.null;.........}.......
20340 20 20 2f 2f 20 69 66 20 24 72 6f 77 6e 75 6d 20 69 73 20 6e 75 6c 6c 2c 20 66 65 74 63 68 20 72 ..//.if.$rownum.is.null,.fetch.r
20360 6f 77 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 6e 65 78 74 20 72 6f 77 0a 20 20 20 20 ow.will.return.the.next.row.....
20380 20 20 20 20 69 66 20 28 21 24 72 6f 77 20 3d 20 40 69 66 78 5f 66 65 74 63 68 5f 72 6f 77 28 24 ....if.(!$row.=.@ifx_fetch_row($
203a0 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 result,.$rownum)).{.............
203c0 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 return.null;.........}.........i
203e0 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 21 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 f.($fetchmode.!==.DB_FETCHMODE_A
20400 53 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 3d 30 3b 0a 20 20 20 20 20 20 SSOC).{.............$i=0;.......
20420 20 20 20 20 20 20 24 6f 72 64 65 72 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 ......$order.=.array();.........
20440 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 ....foreach.($row.as.$key.=>.$va
20460 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 72 64 65 72 5b 24 69 2b 2b l).{.................$order[$i++
20480 5d 20 3d 20 24 76 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ].=.$val;.............}.........
204a0 20 20 20 20 24 72 6f 77 20 3d 20 24 6f 72 64 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ....$row.=.$order;.........}....
204c0 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 .....return.DB_OK;.....}......fu
204e0 6e 63 74 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 nction.numRows($result).....{...
20500 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 ......return.$this->raiseError(D
20520 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 B_ERROR_NOT_CAPABLE);.....}.....
20540 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f ./**......*.Get.the.number.of.co
20560 6c 75 6d 6e 73 20 69 6e 20 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 lumns.in.a.result.set.......*...
20580 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 49 6e 66 6f 72 6d 69 78 20 72 65 73 ...*.@param.$result.Informix.res
205a0 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 ult.identifier......*......*.@re
205c0 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 70 turn.int.the.number.of.columns.p
205e0 65 72 20 72 6f 77 20 69 6e 20 24 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 er.row.in.$result......*/.....fu
20600 6e 63 74 69 6f 6e 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 nction.numCols($result).....{...
20620 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 20 3d 20 40 69 66 78 5f 6e 75 6d 5f 66 69 65 6c ......if.(!$cols.=.@ifx_num_fiel
20640 64 73 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ds($result)).{.............retur
20660 6e 20 24 74 68 69 73 2d 3e 69 66 78 72 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 n.$this->ifxraiseError();.......
20680 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6c 73 3b 0a 20 20 20 20 7d 0a ..}.........return.$cols;.....}.
206a0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 72 65 65 20 74 68 65 20 69 6e 74 65 72 6e 61 ...../**......*.Free.the.interna
206c0 6c 20 72 65 73 6f 75 72 63 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 24 72 65 73 l.resources.associated.with.$res
206e0 75 6c 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c ult.......*......*.@param.$resul
20700 74 20 49 6e 66 6f 72 6d 69 78 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 t.Informix.result.identifier....
20720 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 ..*......*.@return.bool.TRUE.on.
20740 73 75 63 63 65 73 73 2c 20 44 42 5f 65 72 72 6f 72 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 success,.DB_error.on.error......
20760 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 52 65 73 75 6c 74 28 24 72 65 73 75 */.....function.freeResult($resu
20780 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 lt).....{.........if.(is_resourc
207a0 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 e($result)).{.............if.(!@
207c0 69 66 78 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 ifx_free_result($result)).{.....
207e0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 66 78 72 61 69 ............return.$this->ifxrai
20800 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 seError();.............}........
20820 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .....return.true;.........}.....
20840 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f ....if.(!isset($this->prepare_to
20860 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 kens[(int)$result])).{..........
20880 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...return.false;.........}......
208a0 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 ...unset($this->prepare_tokens[(
208c0 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 int)$result]);.........unset($th
208e0 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 is->prepare_types[(int)$result])
20900 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 ;.........return.true;.....}....
20920 20 20 66 75 6e 63 74 69 6f 6e 20 69 66 78 72 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 20 ..function.ifxraiseError($errno.
20940 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6e 6f =.null).....{.........if.($errno
20960 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6e 6f 20 .===.null).{.............$errno.
20980 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 69 66 78 5f 65 72 72 6f 72 28 29 29 3b =.$this->errorCode(ifx_error());
209a0 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 .........}..........return.$this
209c0 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c ->raiseError($errno,.null,.null,
209e0 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .null,..........................
20a00 20 20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4e 61 74 69 76 65 28 29 29 3b 0a 20 20 20 20 7d 0a ...$this->errorNative());.....}.
20a20 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 61 70 20 6e 61 74 69 76 65 20 65 72 72 6f 72 ...../**......*.Map.native.error
20a40 20 63 6f 64 65 73 20 74 6f 20 44 42 27 73 20 70 6f 72 74 61 62 6c 65 20 6f 6e 65 73 2e 20 20 52 .codes.to.DB's.portable.ones...R
20a60 65 71 75 69 72 65 73 20 74 68 61 74 0a 20 20 20 20 20 2a 20 74 68 65 20 44 42 20 69 6d 70 6c 65 equires.that......*.the.DB.imple
20a80 6d 65 6e 74 61 74 69 6f 6e 27 73 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 66 69 6c 6c 73 20 69 6e mentation's.constructor.fills.in
20aa0 20 74 68 65 20 24 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 0a 20 20 20 20 20 2a 20 70 72 6f 70 65 .the.$errorcode_map......*.prope
20ac0 72 74 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 61 rty.......*......*.@return.int.a
20ae0 20 70 6f 72 74 61 62 6c 65 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 6f 72 20 44 42 5f 45 .portable.DB.error.code,.or.DB_E
20b00 52 52 4f 52 20 69 66 20 74 68 69 73 20 44 42 0a 20 20 20 20 20 2a 20 69 6d 70 6c 65 6d 65 6e 74 RROR.if.this.DB......*.implement
20b20 61 74 69 6f 6e 20 68 61 73 20 6e 6f 20 6d 61 70 70 69 6e 67 20 66 6f 72 20 74 68 65 20 67 69 76 ation.has.no.mapping.for.the.giv
20b40 65 6e 20 65 72 72 6f 72 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 en.error.code.......*/......func
20b60 74 69 6f 6e 20 65 72 72 6f 72 43 6f 64 65 28 24 6e 61 74 69 76 65 63 6f 64 65 29 0a 20 20 20 20 tion.errorCode($nativecode).....
20b80 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 72 65 67 28 27 53 51 4c 43 4f 44 45 3d 28 2e 2a 29 {.........if.(ereg('SQLCODE=(.*)
20ba0 5d 27 2c 20 24 6e 61 74 69 76 65 63 6f 64 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 20 20 20 20 ]',.$nativecode,.$match)).{.....
20bc0 20 20 20 20 20 20 20 20 24 63 6f 64 65 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 20 20 20 20 20 ........$code.=.$match[1];......
20be0 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 .......if.(isset($this->errorcod
20c00 65 5f 6d 61 70 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e_map[$code])).{................
20c20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 5b 24 63 6f .return.$this->errorcode_map[$co
20c40 64 65 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 de];.............}.........}....
20c60 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 45 52 52 4f 52 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 .....return.DB_ERROR;.....}.....
20c80 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 ./**......*.Get.the.native.error
20ca0 20 6d 65 73 73 61 67 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 65 72 72 6f 72 20 28 69 66 20 61 .message.of.the.last.error.(if.a
20cc0 6e 79 29 20 74 68 61 74 0a 20 20 20 20 20 2a 20 6f 63 63 75 72 65 64 20 6f 6e 20 74 68 65 20 63 ny).that......*.occured.on.the.c
20ce0 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a urrent.connection.......*......*
20d00 20 40 72 65 74 75 72 6e 20 69 6e 74 20 6e 61 74 69 76 65 20 49 6e 66 6f 72 6d 69 78 20 65 72 72 .@return.int.native.Informix.err
20d20 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 or.code......*/.....function.err
20d40 6f 72 4e 61 74 69 76 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 orNative().....{.........return.
20d60 69 66 78 5f 65 72 72 6f 72 28 29 20 2e 20 27 20 27 20 2e 20 69 66 78 5f 65 72 72 6f 72 6d 73 67 ifx_error()...'.'...ifx_errormsg
20d80 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 65 63 69 61 6c ();.....}......//.{{{.getSpecial
20da0 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 Query()....../**.....*.Returns.t
20dc0 68 65 20 71 75 65 72 79 20 6e 65 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 20 62 61 63 6b he.query.needed.to.get.some.back
20de0 65 6e 64 20 69 6e 66 6f 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 end.info.....*.@param.string.$ty
20e00 70 65 20 57 68 61 74 20 6b 69 6e 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f pe.What.kind.of.info.you.want.to
20e20 20 72 65 74 72 69 65 76 65 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 .retrieve.....*.@return.string.T
20e40 68 65 20 53 51 4c 20 71 75 65 72 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 he.SQL.query.string.....*/.....f
20e60 75 6e 63 74 69 6f 6e 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 65 29 0a 20 unction.getSpecialQuery($type)..
20e80 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 20 ...{.........switch.($type).{...
20ea0 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 20 20 20 20 20 ..........case.'tables':........
20ec0 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 .....default:.................re
20ee0 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 turn.null;.........}.........ret
20f00 75 72 6e 20 24 73 71 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 7d 0a 0a 3f urn.$sql;.....}......//.}}}.}..?
20f20 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >...............................
20f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21000 44 42 2d 31 2e 33 2f 44 42 2f 6d 73 71 6c 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/msql.php..............
21020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
21080 20 20 31 33 35 32 36 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 36 37 32 20 00 00 00 00 00 ..13526..7466465701...6672......
210a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
210c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
210e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
211a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
211c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
211e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21200 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
21220 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
21260 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
21280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
212a0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
212c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
212e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
21300 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
21320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
21340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21380 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
213a0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
213c0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
213e0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
21400 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
21420 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
21440 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
21460 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
21480 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
214a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
214c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
214e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
21500 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
21520 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
21540 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
21560 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
21580 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
215a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
215c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
215e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 65 72 6c 69 6e 67 20 48 75 67 68 65 ---+.//.|.Author:.Sterling.Hughe
21600 73 20 3c 73 74 65 72 6c 69 6e 67 40 70 68 70 2e 6e 65 74 3e 20 20 20 20 20 20 20 20 20 20 20 20 s.<sterling@php.net>............
21620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
21640 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21660 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
21680 2f 2f 20 24 49 64 3a 20 6d 73 71 6c 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f 30 //.$Id:.msql.php,v.1.3.2002/05/0
216a0 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 62 9.12:29:53.ssb.Exp.$.//.//.Datab
216c0 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 20 ase.independent.query.interface.
216e0 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 4d 69 6e 69 2d 53 51 4c 0a 2f 2f definition.for.PHP's.Mini-SQL.//
21700 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 27 44 42 .extension..//..require_once.'DB
21720 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a 63 6c 61 73 73 20 44 42 5f 6d 73 71 6c 20 65 78 74 /common.php';..class.DB_msql.ext
21740 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 20 20 20 76 61 72 20 24 63 6f 6e 6e 65 63 ends.DB_common.{.....var.$connec
21760 74 69 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 24 64 62 73 79 6e 74 61 tion;.....var.$phptype,.$dbsynta
21780 78 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 20 3d 20 61 72 72 x;.....var.$prepare_tokens.=.arr
217a0 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 79 70 65 73 20 3d 20 61 ay();.....var.$prepare_types.=.a
217c0 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 6d 73 71 6c 28 29 0a rray();......function.DB_msql().
217e0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e 28 29 ....{.........$this->DB_common()
21800 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 6d 73 71 6c ;.........$this->phptype.=.'msql
21820 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 6d 73 ';.........$this->dbsyntax.=.'ms
21840 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 ql';.........$this->features.=.a
21860 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e 20 66 rray(.............'prepare'.=>.f
21880 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 alse,.............'pconnect'.=>.
218a0 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 true,.............'transactions'
218c0 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 3d .=>.false,.............'limit'.=
218e0 3e 20 27 65 6d 75 6c 61 74 65 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 >.'emulate'.........);.....}....
21900 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f 2c 20 24 70 65 ..function.connect($dsninfo,.$pe
21920 72 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 rsistent.=.false).....{.........
21940 69 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 6d 73 71 6c 27 29 if.(!DB::assertExtension('msql')
21960 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 ).............return.$this->rais
21980 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f eError(DB_ERROR_EXTENSION_NOT_FO
219a0 55 4e 44 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 24 64 73 6e UND);..........$this->dsn.=.$dsn
219c0 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 24 75 73 65 72 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 info;.........$user.=.$dsninfo['
219e0 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 3d 20 24 64 73 6e 69 6e username'];.........$pw.=.$dsnin
21a00 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 64 62 68 6f 73 74 20 fo['password'];.........$dbhost.
21a20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3f 20 24 64 73 6e 69 6e 66 =.$dsninfo['hostspec'].?.$dsninf
21a40 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3a 20 27 6c 6f 63 61 6c 68 6f 73 74 27 3b 0a 0a 20 20 o['hostspec'].:.'localhost';....
21a60 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 24 70 65 72 73 69 ......$connect_function.=.$persi
21a80 73 74 65 6e 74 20 3f 20 27 6d 73 71 6c 5f 70 63 6f 6e 6e 65 63 74 27 20 3a 20 27 6d 73 71 6c 5f stent.?.'msql_pconnect'.:.'msql_
21aa0 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 62 68 6f 73 74 20 26 connect';..........if.($dbhost.&
21ac0 26 20 24 75 73 65 72 20 26 26 20 24 70 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 &.$user.&&.$pw).{.............$c
21ae0 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 2c onn.=.$connect_function($dbhost,
21b00 20 24 75 73 65 72 2c 20 24 70 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 .$user,.$pw);.........}.elseif.(
21b20 24 64 62 68 6f 73 74 20 26 26 20 24 75 73 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $dbhost.&&.$user).{.............
21b40 24 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 $conn.=.$connect_function($dbhos
21b60 74 2c 24 75 73 65 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 t,$user);.........}.else.{......
21b80 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e .......$conn.=.$connect_function
21ba0 28 24 64 62 68 6f 73 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 ($dbhost);.........}.........if.
21bc0 28 21 24 63 6f 6e 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 61 (!$conn).{.............$this->ra
21be0 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 iseError(DB_ERROR_CONNECT_FAILED
21c00 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 73 71 6c 5f );.........}.........if.(!@msql_
21c20 73 65 6c 65 63 74 5f 64 62 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 2c 20 select_db($dsninfo['database'],.
21c40 24 63 6f 6e 6e 29 29 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 $conn)){.............return.$thi
21c60 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 s->raiseError(DB_ERROR_NODBSELEC
21c80 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 TED);.........}.........$this->c
21ca0 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 onnection.=.$conn;.........retur
21cc0 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 n.DB_OK;.....}......function.dis
21ce0 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 40 connect().....{.........$ret.=.@
21d00 6d 73 71 6c 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 msql_close($this->connection);..
21d20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b .......$this->connection.=.null;
21d40 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 .........return.$ret;.....}.....
21d60 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 .function.simpleQuery($query)...
21d80 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 ..{.........$this->last_query.=.
21da0 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e $query;.........$query.=.$this->
21dc0 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 modifyQuery($query);.........$re
21de0 73 75 6c 74 20 3d 20 40 6d 73 71 6c 5f 71 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 74 68 69 73 sult.=.@msql_query($query,.$this
21e00 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 ->connection);.........if.(!$res
21e20 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d ult).{.............return.$this-
21e40 3e 72 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 >raiseError();.........}........
21e60 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 71 75 65 72 69 65 73 20 74 68 61 74 .//.Determine.which.queries.that
21e80 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 61 74 61 2c 20 61 6e 64 20 77 68 69 63 68 0a 20 .should.return.data,.and.which..
21ea0 20 20 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 .......//.should.return.an.error
21ec0 20 63 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 3a 3a 69 .code.only..........return.DB::i
21ee0 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 20 3f 20 44 42 5f 4f 4b 20 3a 20 24 72 65 73 75 6c 74 sManip($query).?.DB_OK.:.$result
21f00 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 52 65 73 75 6c 74 28 29 ;.....}......//.{{{.nextResult()
21f20 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e ....../**......*.Move.the.intern
21f40 61 6c 20 6d 73 71 6c 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 al.msql.result.pointer.to.the.ne
21f60 78 74 20 61 76 61 69 6c 61 62 6c 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 xt.available.result......*......
21f80 2a 20 40 70 61 72 61 6d 20 61 20 76 61 6c 69 64 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 72 65 *.@param.a.valid.fbsql.result.re
21fa0 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 source......*......*.@access.pub
21fc0 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 lic......*......*.@return.true.i
21fe0 66 20 61 20 72 65 73 75 6c 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 f.a.result.is.available.otherwis
22000 65 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 e.return.false......*/.....funct
22020 69 6f 6e 20 6e 65 78 74 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 ion.nextResult($result).....{...
22040 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f ......return.false;.....}....../
22060 2f 20 7d 7d 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 77 28 24 72 65 /.}}}......function.fetchRow($re
22080 73 75 6c 74 2c 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f sult,.$fetchmode.=.DB_FETCHMODE_
220a0 44 45 46 41 55 4c 54 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 DEFAULT,.$rownum=null).....{....
220c0 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 42 5f 46 45 54 43 48 4d .....if.($fetchmode.==.DB_FETCHM
220e0 4f 44 45 5f 44 45 46 41 55 4c 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 ODE_DEFAULT).{.............$fetc
22100 68 6d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 hmode.=.$this->fetchmode;.......
22120 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 49 ..}.........$res.=.$this->fetchI
22140 6e 74 6f 20 28 24 72 65 73 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 nto.($result,.$arr,.$fetchmode,.
22160 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 20 21 3d 3d 20 44 $rownum);.........if.($res.!==.D
22180 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b B_OK).{.............return.$res;
221a0 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 3b 0a .........}.........return.$arr;.
221c0 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 24 72 ....}......function.fetchInto($r
221e0 65 73 75 6c 74 2c 20 26 24 61 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d esult,.&$ar,.$fetchmode,.$rownum
22200 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 6e 75 6d =null).....{.........if.($rownum
22220 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d .!==.null).{.............if.(!@m
22240 73 71 6c 5f 64 61 74 61 5f 73 65 65 6b 28 24 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 29 29 sql_data_seek($result,.$rownum))
22260 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a .{.................return.null;.
22280 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ............}.........}.........
222a0 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 26 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 if.($fetchmode.&.DB_FETCHMODE_AS
222c0 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 20 3d 20 40 6d 73 71 6c 5f 66 SOC).{.............$ar.=.@msql_f
222e0 65 74 63 68 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 2c 20 4d 53 51 4c 5f 41 53 53 4f 43 29 3b etch_array($result,.MSQL_ASSOC);
22300 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 .........}.else.{.............$a
22320 72 20 3d 20 40 6d 73 71 6c 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 r.=.@msql_fetch_row($result);...
22340 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 61 72 29 20 7b 0a 20 20 20 20 ......}.........if.(!$ar).{.....
22360 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6f 72 20 3d 20 6d 73 71 6c 5f 65 72 72 6f 72 28 ........if.($error.=.msql_error(
22380 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 )).{.................return.$thi
223a0 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 20 s->raiseError($error);..........
223c0 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ...}.else.{.................retu
223e0 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d rn.null;.............}.........}
22400 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 .........return.DB_OK;.....}....
22420 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 ..function.freeResult($result)..
22440 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 72 65 ...{.........if.(is_resource($re
22460 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 40 6d 73 71 sult)).{.............return.@msq
22480 6c 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 l_free_result($result);.........
224a0 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 }.........if.(!isset($this->prep
224c0 61 72 65 5f 74 6f 6b 65 6e 73 5b 24 72 65 73 75 6c 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 are_tokens[$result])).{.........
224e0 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ....return.false;.........}.....
22500 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b ....unset($this->prepare_tokens[
22520 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e $result]);.........unset($this->
22540 70 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 prepare_types[$result]);........
22560 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f .return.true;.....}......functio
22580 6e 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 n.numCols($result).....{........
225a0 20 24 63 6f 6c 73 20 3d 20 40 6d 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 72 65 73 75 6c .$cols.=.@msql_num_fields($resul
225c0 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b 0a 20 20 20 20 20 20 t);.........if.(!$cols).{.......
225e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 29 ......return.$this->raiseError()
22600 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6c 73 ;.........}.........return.$cols
22620 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 24 72 ;.....}......function.numRows($r
22640 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 6f 77 73 20 3d 20 40 6d 73 esult).....{.........$rows.=.@ms
22660 71 6c 5f 6e 75 6d 5f 72 6f 77 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 ql_num_rows($result);.........if
22680 20 28 21 24 72 6f 77 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 .(!$rows).{.............return.$
226a0 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 this->raiseError();.........}...
226c0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f ......return.$rows;.....}....../
226e0 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 **......*.Gets.the.number.of.row
22700 73 20 61 66 66 65 63 74 65 64 20 62 79 20 61 20 71 75 65 72 79 2e 0a 20 20 20 20 20 2a 0a 20 20 s.affected.by.a.query.......*...
22720 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 ...*.@return.number.of.rows.affe
22740 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 0a 20 20 20 20 20 2a 2f 0a 0a cted.by.the.last.query......*/..
22760 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 ....function.affectedRows().....
22780 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 40 6d 73 71 6c 5f 61 66 66 65 63 74 65 64 5f {.........return.@msql_affected_
227a0 72 6f 77 73 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a rows($this->connection);.....}..
227c0 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 29 0a 0a 20 20 ....//.{{{.getSpecialQuery()....
227e0 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 71 75 65 72 79 20 6e 65 ../**.....*.Returns.the.query.ne
22800 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 20 62 61 63 6b 65 6e 64 20 69 6e 66 6f 0a 20 20 eded.to.get.some.backend.info...
22820 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 70 65 20 57 68 61 74 20 6b 69 6e ..*.@param.string.$type.What.kin
22840 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 0a 20 d.of.info.you.want.to.retrieve..
22860 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 53 51 4c 20 71 75 65 72 ...*.@return.string.The.SQL.quer
22880 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 y.string.....*/.....function.get
228a0 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 SpecialQuery($type).....{.......
228c0 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ..switch.($type).{.............c
228e0 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c ase.'tables':.............defaul
22900 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a t:.................return.null;.
22920 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 71 6c 3b 0a 20 ........}.........return.$sql;..
22940 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 7d 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 ...}......//.}}}..}.?>..........
22960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22a00 44 42 2d 31 2e 33 2f 44 42 2f 6d 73 73 71 6c 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/mssql.php.............
22a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
22a80 20 20 33 37 35 37 34 20 20 37 34 37 33 31 33 30 37 32 33 20 20 20 37 30 35 35 20 00 00 00 00 00 ..37574..7473130723...7055......
22aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c00 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
22c20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
22c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
22c60 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
22c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
22ca0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
22cc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
22ce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
22d00 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
22d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
22d40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
22d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
22d80 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
22da0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
22dc0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
22de0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
22e00 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
22e20 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
22e40 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
22e60 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
22e80 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
22ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
22ec0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
22ee0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
22f00 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
22f20 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
22f40 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
22f60 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
22f80 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
22fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
22fc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
22fe0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 65 72 6c 69 6e 67 20 48 75 67 68 65 ---+.//.|.Author:.Sterling.Hughe
23000 73 20 3c 73 74 65 72 6c 69 6e 67 40 70 68 70 2e 6e 65 74 3e 20 20 20 20 20 20 20 20 20 20 20 20 s.<sterling@php.net>............
23020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
23040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
23060 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
23080 2f 2f 20 24 49 64 3a 20 6d 73 73 71 6c 2e 70 68 70 2c 76 20 31 2e 34 20 32 30 30 32 2f 30 35 2f //.$Id:.mssql.php,v.1.4.2002/05/
230a0 32 33 20 30 39 3a 30 39 3a 33 39 20 63 6f 78 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 23.09:09:39.cox.Exp.$.//.//.Data
230c0 62 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 base.independent.query.interface
230e0 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 4d 69 63 72 6f 73 6f 66 74 20 .definition.for.PHP's.Microsoft.
23100 53 51 4c 20 53 65 72 76 65 72 0a 2f 2f 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 72 65 71 SQL.Server.//.extension..//..req
23120 75 69 72 65 5f 6f 6e 63 65 20 27 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a 63 6c 61 73 uire_once.'DB/common.php';..clas
23140 73 20 44 42 5f 6d 73 73 71 6c 20 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 s.DB_mssql.extends.DB_common.{..
23160 20 20 20 76 61 72 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 70 68 70 ...var.$connection;.....var.$php
23180 74 79 70 65 2c 20 24 64 62 73 79 6e 74 61 78 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 type,.$dbsyntax;.....var.$prepar
231a0 65 5f 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 e_tokens.=.array();.....var.$pre
231c0 70 61 72 65 5f 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 74 pare_types.=.array();.....var.$t
231e0 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 76 61 72 20 ransaction_opcount.=.0;.....var.
23200 24 61 75 74 6f 63 6f 6d 6d 69 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 76 61 72 20 24 5f 64 62 $autocommit.=.true;.....var.$_db
23220 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 6d 73 73 71 6c 28 .=.null;......function.DB_mssql(
23240 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e ).....{.........$this->DB_common
23260 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 6d 73 ();.........$this->phptype.=.'ms
23280 73 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 sql';.........$this->dbsyntax.=.
232a0 27 6d 73 73 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 'mssql';.........$this->features
232c0 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 .=.array(.............'prepare'.
232e0 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 =>.false,.............'pconnect'
23300 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 .=>.true,.............'transacti
23320 6f 6e 73 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 ons'.=>.true,.............'limit
23340 27 20 3d 3e 20 27 65 6d 75 6c 61 74 65 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 '.=>.'emulate'.........);.......
23360 20 20 2f 2f 20 58 58 58 20 41 64 64 20 68 65 72 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 69 65 ..//.XXX.Add.here.error.codes.ie
23380 3a 20 27 53 31 30 30 45 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 0a 20 20 20 :.'S100E'.=>.DB_ERROR_SYNTAX....
233a0 20 20 20 20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 20 3d 20 61 72 72 61 .....$this->errorcode_map.=.arra
233c0 79 28 0a 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 y(..........);.....}......functi
233e0 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f 2c 20 24 70 65 72 73 69 73 74 65 6e 74 on.connect($dsninfo,.$persistent
23400 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 44 42 3a .=.false).....{.........if.(!DB:
23420 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 6d 73 73 71 6c 27 29 20 26 26 20 21 44 42 :assertExtension('mssql').&&.!DB
23440 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 73 79 62 61 73 65 27 29 0a 20 20 20 20 ::assertExtension('sybase').....
23460 20 20 20 20 20 20 20 20 26 26 20 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 ........&&.!DB::assertExtension(
23480 27 73 79 62 61 73 65 5f 63 74 27 29 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 'sybase_ct')).........{.........
234a0 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f ....return.$this->raiseError(DB_
234c0 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 20 20 20 20 ERROR_EXTENSION_NOT_FOUND);.....
234e0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 24 64 73 6e 69 ....}.........$this->dsn.=.$dsni
23500 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 24 75 73 65 72 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 75 nfo;.........$user.=.$dsninfo['u
23520 73 65 72 6e 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 3d 20 24 64 73 6e 69 6e 66 sername'];.........$pw.=.$dsninf
23540 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 64 62 68 6f 73 74 20 3d o['password'];.........$dbhost.=
23560 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3f 20 24 64 73 6e 69 6e 66 6f .$dsninfo['hostspec'].?.$dsninfo
23580 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3a 20 27 6c 6f 63 61 6c 68 6f 73 74 27 3b 0a 0a 20 20 20 ['hostspec'].:.'localhost';.....
235a0 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 24 70 65 72 73 69 73 .....$connect_function.=.$persis
235c0 74 65 6e 74 20 3f 20 27 6d 73 73 71 6c 5f 70 63 6f 6e 6e 65 63 74 27 20 3a 20 27 6d 73 73 71 6c tent.?.'mssql_pconnect'.:.'mssql
235e0 5f 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 62 68 6f 73 74 20 _connect';..........if.($dbhost.
23600 26 26 20 24 75 73 65 72 20 26 26 20 24 70 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 &&.$user.&&.$pw).{.............$
23620 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 conn.=.@$connect_function($dbhos
23640 74 2c 20 24 75 73 65 72 2c 20 24 70 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 t,.$user,.$pw);.........}.elseif
23660 20 28 24 64 62 68 6f 73 74 20 26 26 20 24 75 73 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .($dbhost.&&.$user).{...........
23680 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 ..$conn.=.@$connect_function($db
236a0 68 6f 73 74 2c 20 24 75 73 65 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 host,.$user);.........}.else.{..
236c0 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e ...........$conn.=.@$connect_fun
236e0 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ction($dbhost);.........}.......
23700 20 20 69 66 20 28 21 24 63 6f 6e 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ..if.(!$conn).{.............retu
23720 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f rn.$this->raiseError(DB_ERROR_CO
23740 4e 4e 45 43 54 5f 46 41 49 4c 45 44 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 NNECT_FAILED,.null,.null,.......
23760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
23780 20 20 20 6e 75 6c 6c 2c 20 6d 73 73 71 6c 5f 67 65 74 5f 6c 61 73 74 5f 6d 65 73 73 61 67 65 28 ...null,.mssql_get_last_message(
237a0 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 73 6e 69 6e ));.........}.........if.($dsnin
237c0 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 fo['database']).{.............if
237e0 20 28 21 40 6d 73 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 .(!@mssql_select_db($dsninfo['da
23800 74 61 62 61 73 65 27 5d 2c 20 24 63 6f 6e 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tabase'],.$conn)).{.............
23820 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f ....return.$this->raiseError(DB_
23840 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a ERROR_NODBSELECTED,.null,.null,.
23860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
23880 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6d 73 73 71 6c 5f 67 65 74 5f 6c 61 73 74 5f 6d 65 .........null,.mssql_get_last_me
238a0 73 73 61 67 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ssage());.............}.........
238c0 20 20 20 20 24 74 68 69 73 2d 3e 5f 64 62 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 ....$this->_db.=.$dsninfo['datab
238e0 61 73 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ase'];.........}.........$this->
23900 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 connection.=.$conn;.........retu
23920 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 rn.DB_OK;.....}......function.di
23940 73 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 sconnect().....{.........$ret.=.
23960 40 6d 73 73 71 6c 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b @mssql_close($this->connection);
23980 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c .........$this->connection.=.nul
239a0 6c 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 l;.........return.$ret;.....}...
239c0 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 0a ...function.simpleQuery($query).
239e0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 73 6d 61 6e 69 70 20 3d 20 44 42 3a 3a 69 73 4d ....{.........$ismanip.=.DB::isM
23a00 61 6e 69 70 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 anip($query);.........$this->las
23a20 74 5f 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 40 t_query.=.$query;.........if.(!@
23a40 6d 73 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 74 68 69 73 2d 3e 5f 64 62 2c 20 24 74 68 69 mssql_select_db($this->_db,.$thi
23a60 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 s->connection)).{.............re
23a80 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 turn.$this->mssqlRaiseError(DB_E
23aa0 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 RROR_NODBSELECTED);.........}...
23ac0 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 ......$query.=.$this->modifyQuer
23ae0 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 61 y($query);.........if.(!$this->a
23b00 75 74 6f 63 6f 6d 6d 69 74 20 26 26 20 24 69 73 6d 61 6e 69 70 29 20 7b 0a 20 20 20 20 20 20 20 utocommit.&&.$ismanip).{........
23b20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f .....if.($this->transaction_opco
23b40 75 6e 74 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 unt.==.0).{.................$res
23b60 75 6c 74 20 3d 20 40 6d 73 73 71 6c 5f 71 75 65 72 79 28 27 42 45 47 49 4e 20 54 52 41 4e 27 2c ult.=.@mssql_query('BEGIN.TRAN',
23b80 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .$this->connection);............
23ba0 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .....if.(!$result).{............
23bc0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 71 6c 52 61 69 73 .........return.$this->mssqlRais
23be0 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 eError();.................}.....
23c00 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 ........}.............$this->tra
23c20 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 2b 2b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 nsaction_opcount++;.........}...
23c40 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 73 73 71 6c 5f 71 75 65 72 79 28 24 71 75 ......$result.=.@mssql_query($qu
23c60 65 72 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 ery,.$this->connection);........
23c80 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 .if.(!$result).{.............ret
23ca0 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 urn.$this->mssqlRaiseError();...
23cc0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 69 ......}.........//.Determine.whi
23ce0 63 68 20 71 75 65 72 69 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 61 ch.queries.that.should.return.da
23d00 74 61 2c 20 61 6e 64 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 ta,.and.which.........//.should.
23d20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 return.an.error.code.only.......
23d40 20 20 20 72 65 74 75 72 6e 20 24 69 73 6d 61 6e 69 70 20 3f 20 44 42 5f 4f 4b 20 3a 20 24 72 65 ...return.$ismanip.?.DB_OK.:.$re
23d60 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 52 65 73 75 sult;.....}......//.{{{.nextResu
23d80 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e lt()....../**......*.Move.the.in
23da0 74 65 72 6e 61 6c 20 6d 73 73 71 6c 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 ternal.mssql.result.pointer.to.t
23dc0 68 65 20 6e 65 78 74 20 61 76 61 69 6c 61 62 6c 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a he.next.available.result......*.
23de0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 20 76 61 6c 69 64 20 66 62 73 71 6c 20 72 65 73 75 .....*.@param.a.valid.fbsql.resu
23e00 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 lt.resource......*......*.@acces
23e20 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 s.public......*......*.@return.t
23e40 72 75 65 20 69 66 20 61 20 72 65 73 75 6c 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 74 68 rue.if.a.result.is.available.oth
23e60 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 erwise.return.false......*/.....
23e80 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 function.nextResult($result)....
23ea0 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 73 73 71 6c 5f 6e 65 78 74 5f 72 65 73 .{.........return.mssql_next_res
23ec0 75 6c 74 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a ult($result);.....}......//.}}}.
23ee0 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 66 65 74 63 68 52 6f 77 28 24 72 65 73 75 6c 74 2c .....function.&fetchRow($result,
23f00 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 .$fetchmode.=.DB_FETCHMODE_DEFAU
23f20 4c 54 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 LT,.$rownum=null).....{.........
23f40 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 if.($fetchmode.==.DB_FETCHMODE_D
23f60 45 46 41 55 4c 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 EFAULT).{.............$fetchmode
23f80 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 .=.$this->fetchmode;.........}..
23fa0 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 49 6e 74 6f 20 28 .......$res.=.$this->fetchInto.(
23fc0 24 72 65 73 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e $result,.$arr,.$fetchmode,.$rown
23fe0 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 20 21 3d 3d 20 44 42 5f 4f 4b 29 um);.........if.($res.!==.DB_OK)
24000 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 .{.............return.$res;.....
24020 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 3b 0a 20 20 20 20 7d ....}.........return.$arr;.....}
24040 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 ......function.fetchInto($result
24060 2c 20 26 24 61 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c ,.&$ar,.$fetchmode,.$rownum=null
24080 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 ).....{.........if.($rownum.!==.
240a0 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 73 73 71 6c 5f null).{.............if.(!@mssql_
240c0 64 61 74 61 5f 73 65 65 6b 28 24 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 29 29 20 7b 0a 20 data_seek($result,.$rownum)).{..
240e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 ...............return.null;.....
24100 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 ........}.........}.........if.(
24120 24 66 65 74 63 68 6d 6f 64 65 20 26 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 $fetchmode.&.DB_FETCHMODE_ASSOC)
24140 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 20 3d 20 40 6d 73 73 71 6c 5f 66 65 74 63 .{.............$ar.=.@mssql_fetc
24160 68 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 h_array($result);.........}.else
24180 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 20 3d 20 40 6d 73 73 71 6c 5f 66 65 74 63 .{.............$ar.=.@mssql_fetc
241a0 68 5f 72 6f 77 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 h_row($result);.........}.......
241c0 20 20 69 66 20 28 21 24 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 69 ..if.(!$ar).{............./*.Thi
241e0 73 20 74 68 72 6f 77 73 20 69 6e 66 6f 72 6d 61 74 69 76 65 20 65 72 72 6f 72 20 6d 65 73 73 61 s.throws.informative.error.messa
24200 67 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 6e 27 74 20 75 73 65 20 69 74 ges,................don't.use.it
24220 20 66 6f 72 20 6e 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 73 67 20 3d 20 .for.now.............if.($msg.=.
24240 6d 73 73 71 6c 5f 67 65 74 5f 6c 61 73 74 5f 6d 65 73 73 61 67 65 28 29 29 20 7b 0a 20 20 20 20 mssql_get_last_message()).{.....
24260 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 ............return.$this->raiseE
24280 72 72 6f 72 28 24 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 rror($msg);.............}.......
242a0 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c ......*/.............return.null
242c0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b ;.........}.........return.DB_OK
242e0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 52 65 73 75 6c 74 ;.....}......function.freeResult
24300 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 ($result).....{.........if.(is_r
24320 65 73 6f 75 72 63 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 esource($result)).{.............
24340 72 65 74 75 72 6e 20 40 6d 73 73 71 6c 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 73 75 6c return.@mssql_free_result($resul
24360 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 t);.........}.........if.(!isset
24380 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 24 72 65 73 75 6c 74 5d 29 ($this->prepare_tokens[$result])
243a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 ).{.............return.false;...
243c0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 ......}.........unset($this->pre
243e0 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 pare_tokens[$result]);.........u
24400 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 72 65 73 75 6c nset($this->prepare_types[$resul
24420 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a t]);.........return.true;.....}.
24440 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 .....function.numCols($result)..
24460 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 40 6d 73 73 71 6c 5f 6e 75 6d 5f ...{.........$cols.=.@mssql_num_
24480 66 69 65 6c 64 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 fields($result);.........if.(!$c
244a0 6f 6c 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d ols).{.............return.$this-
244c0 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 >mssqlRaiseError();.........}...
244e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6c 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 ......return.$cols;.....}......f
24500 75 6e 63 74 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 unction.numRows($result).....{..
24520 20 20 20 20 20 20 20 24 72 6f 77 73 20 3d 20 40 6d 73 73 71 6c 5f 6e 75 6d 5f 72 6f 77 73 28 24 .......$rows.=.@mssql_num_rows($
24540 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 73 20 3d 3d 3d 20 66 result);.........if.($rows.===.f
24560 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 alse).{.............return.$this
24580 2d 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 ->mssqlRaiseError();.........}..
245a0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .......return.$rows;.....}......
245c0 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 61 75 74 6f 6d 61 /**......*.Enable/disable.automa
245e0 74 69 63 20 63 6f 6d 6d 69 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e tic.commits......*/.....function
24600 20 61 75 74 6f 43 6f 6d 6d 69 74 28 24 6f 6e 6f 66 66 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 .autoCommit($onoff.=.false).....
24620 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 20 69 66 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 {.........//.XXX.if.$this->trans
24640 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 2c 20 77 65 20 73 68 6f 75 6c 64 20 70 72 action_opcount.>.0,.we.should.pr
24660 6f 62 61 62 6c 79 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 73 73 75 65 20 61 20 77 61 72 6e 69 6e obably.........//.issue.a.warnin
24680 67 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 g.here..........$this->autocommi
246a0 74 20 3d 20 24 6f 6e 6f 66 66 20 3f 20 74 72 75 65 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 t.=.$onoff.?.true.:.false;......
246c0 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d ...return.DB_OK;.....}......//.}
246e0 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6d 6d 69 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a }}.....//.{{{.commit()....../**.
24700 20 20 20 20 20 2a 20 43 6f 6d 6d 69 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 72 61 6e 73 61 .....*.Commit.the.current.transa
24720 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d ction.......*/.....function.comm
24740 69 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 72 it().....{.........if.($this->tr
24760 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 ansaction_opcount.>.0).{........
24780 20 20 20 20 20 69 66 20 28 21 40 6d 73 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 74 68 69 73 .....if.(!@mssql_select_db($this
247a0 2d 3e 5f 64 62 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 ->_db,.$this->connection)).{....
247c0 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 71 6c .............return.$this->mssql
247e0 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 RaiseError(DB_ERROR_NODBSELECTED
24800 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 );.............}.............$re
24820 73 75 6c 74 20 3d 20 40 6d 73 73 71 6c 5f 71 75 65 72 79 28 27 43 4f 4d 4d 49 54 20 54 52 41 4e sult.=.@mssql_query('COMMIT.TRAN
24840 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 ',.$this->connection);..........
24860 20 20 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 ...$this->transaction_opcount.=.
24880 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 0;.............if.(!$result).{..
248a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 ...............return.$this->mss
248c0 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 qlRaiseError();.............}...
248e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 ......}.........return.DB_OK;...
24900 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 72 6f 6c 6c 62 ..}......//.}}}.....//.{{{.rollb
24920 61 63 6b 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 6f 6c 6c 20 62 61 63 6b 20 ack()....../**......*.Roll.back.
24940 28 75 6e 64 6f 29 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 72 61 6e 73 61 63 74 69 6f 6e 2e 0a (undo).the.current.transaction..
24960 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 29 0a .....*/.....function.rollback().
24980 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 ....{.........if.($this->transac
249a0 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion_opcount.>.0).{.............
249c0 69 66 20 28 21 40 6d 73 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 74 68 69 73 2d 3e 5f 64 62 if.(!@mssql_select_db($this->_db
249e0 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 ,.$this->connection)).{.........
24a00 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 71 6c 52 61 69 73 65 ........return.$this->mssqlRaise
24a20 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 29 3b 0a 20 20 Error(DB_ERROR_NODBSELECTED);...
24a40 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 ..........}.............$result.
24a60 3d 20 40 6d 73 73 71 6c 5f 71 75 65 72 79 28 27 52 4f 4c 4c 42 41 43 4b 20 54 52 41 4e 27 2c 20 =.@mssql_query('ROLLBACK.TRAN',.
24a80 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $this->connection);.............
24aa0 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a $this->transaction_opcount.=.0;.
24ac0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 ............if.(!$result).{.....
24ae0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 71 6c 52 ............return.$this->mssqlR
24b00 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 aiseError();.............}......
24b20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d ...}.........return.DB_OK;.....}
24b40 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 66 66 65 63 74 65 64 ......//.}}}.....//.{{{.affected
24b60 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 Rows()....../**......*.Gets.the.
24b80 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c number.of.rows.affected.by.the.l
24ba0 61 73 74 20 71 75 65 72 79 2e 0a 20 20 20 20 20 2a 20 69 66 20 74 68 65 20 6c 61 73 74 20 71 75 ast.query.......*.if.the.last.qu
24bc0 65 72 79 20 77 61 73 20 61 20 73 65 6c 65 63 74 2c 20 72 65 74 75 72 6e 73 20 30 2e 0a 20 20 20 ery.was.a.select,.returns.0.....
24be0 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 ..*......*.@return.number.of.row
24c00 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 20 6f 72 20 s.affected.by.the.last.query.or.
24c20 44 42 5f 45 52 52 4f 52 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 66 DB_ERROR......*/.....function.af
24c40 66 65 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 fectedRows().....{.........if.(D
24c60 42 3a 3a 69 73 4d 61 6e 69 70 28 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 29 29 20 7b B::isManip($this->last_query)).{
24c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 40 6d 73 73 71 6c 5f 71 75 65 72 79 .............$res.=.@mssql_query
24ca0 28 27 73 65 6c 65 63 74 20 40 40 72 6f 77 63 6f 75 6e 74 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e ('select.@@rowcount',.$this->con
24cc0 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 29 nection);.............if.(!$res)
24ce0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d .{.................return.$this-
24d00 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >mssqlRaiseError();.............
24d20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 20 3d 20 40 6d 73 73 71 6c 5f 66 65 74 63 68 }.............$ar.=.@mssql_fetch
24d40 5f 72 6f 77 28 24 72 65 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 61 72 _row($res);.............if.(!$ar
24d60 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 30 3b ).{.................$result.=.0;
24d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .............}.else.{...........
24da0 20 20 20 20 20 20 40 6d 73 73 71 6c 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 73 29 3b 0a ......@mssql_free_result($res);.
24dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 61 72 5b 30 5d ................$result.=.$ar[0]
24de0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b ;.............}.........}.else.{
24e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 .............$result.=.0;.......
24e20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 ..}.........return.$result;.....
24e40 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 49 64 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 }.....//.{{{.nextId()....../**..
24e60 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e 20 61 20 73 65 ....*.Get.the.next.value.in.a.se
24e80 71 75 65 6e 63 65 2e 20 20 57 65 20 65 6d 75 6c 61 74 65 20 73 65 71 75 65 6e 63 65 73 0a 20 20 quence...We.emulate.sequences...
24ea0 20 20 20 2a 20 66 6f 72 20 4d 53 53 51 4c 2e 20 20 57 69 6c 6c 20 63 72 65 61 74 65 20 74 68 65 ...*.for.MSSQL...Will.create.the
24ec0 20 73 65 71 75 65 6e 63 65 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 0a .sequence.if.it.does.not.exist..
24ee0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 .....*......*.@access.public....
24f00 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 73 65 71 5f 6e 61 6d 65 20 74 68 65 20 ..*......*.@param.$seq_name.the.
24f20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 name.of.the.sequence......*.....
24f40 20 2a 20 40 70 61 72 61 6d 20 24 6f 6e 64 65 6d 61 6e 64 20 77 68 65 74 68 65 72 20 74 6f 20 63 .*.@param.$ondemand.whether.to.c
24f60 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 61 62 6c 65 20 6f 6e 20 64 65 6d 61 reate.the.sequence.table.on.dema
24f80 6e 64 0a 20 20 20 20 20 2a 20 28 64 65 66 61 75 6c 74 20 69 73 20 74 72 75 65 29 0a 20 20 20 20 nd......*.(default.is.true).....
24fa0 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 69 6e 74 .*......*.@return.a.sequence.int
24fc0 65 67 65 72 2c 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 eger,.or.a.DB.error......*/.....
24fe0 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 24 73 65 71 5f 6e 61 6d 65 2c 20 24 6f 6e 64 65 function.nextId($seq_name,.$onde
25000 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e mand.=.true).....{.........$seqn
25020 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 ame.=.$this->getSequenceName($se
25040 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 73 73 71 6c 5f 73 65 6c q_name);.........if.(!@mssql_sel
25060 65 63 74 5f 64 62 28 24 74 68 69 73 2d 3e 5f 64 62 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 ect_db($this->_db,.$this->connec
25080 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 tion)).{.............return.$thi
250a0 73 2d 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 s->mssqlRaiseError(DB_ERROR_NODB
250c0 53 45 4c 45 43 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 SELECTED);.........}.........$re
250e0 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 peat.=.0;.........do.{..........
25100 20 20 20 24 74 68 69 73 2d 3e 70 75 73 68 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 ...$this->pushErrorHandling(PEAR
25120 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 _ERROR_RETURN);.............$res
25140 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 ult.=.$this->query("INSERT.INTO.
25160 24 73 65 71 6e 61 6d 65 20 28 76 61 70 6f 72 29 20 56 41 4c 55 45 53 20 28 30 29 22 29 3b 0a 20 $seqname.(vapor).VALUES.(0)");..
25180 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 6f 70 45 72 72 6f 72 48 61 6e 64 6c 69 ...........$this->popErrorHandli
251a0 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 6e 64 65 6d 61 6e 64 20 ng();.............if.($ondemand.
251c0 26 26 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 26 26 0a 20 20 20 20 20 &&.DB::isError($result).&&......
251e0 20 20 20 20 20 20 20 20 20 20 20 28 24 72 65 73 75 6c 74 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d ...........($result->getCode().=
25200 3d 20 44 42 5f 45 52 52 4f 52 20 7c 7c 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 43 6f 64 65 28 29 =.DB_ERROR.||.$result->getCode()
25220 20 3d 3d 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 29 29 0a 20 20 20 20 20 .==.DB_ERROR_NOSUCHTABLE))......
25240 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 .......{.................$repeat
25260 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 .=.1;.................$result.=.
25280 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 $this->createSequence($seq_name)
252a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f ;.................if.(DB::isErro
252c0 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r($result)).{...................
252e0 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..return.$result;...............
25300 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ..}.............}.else.{........
25320 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 .........$result.=.$this->query(
25340 22 53 45 4c 45 43 54 20 40 40 49 44 45 4e 54 49 54 59 20 46 52 4f 4d 20 24 73 65 71 6e 61 6d 65 "SELECT.@@IDENTITY.FROM.$seqname
25360 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 20 3d 20 30 3b ");.................$repeat.=.0;
25380 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 .............}.........}.while.(
253a0 24 72 65 70 65 61 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f $repeat);.........if.(DB::isErro
253c0 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e r($result)).{.............return
253e0 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 .$this->raiseError($result);....
25400 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 72 65 73 75 6c 74 .....}.........$result.=.$result
25420 2d 3e 66 65 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 29 ->fetchRow(DB_FETCHMODE_ORDERED)
25440 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 5b 30 5d 3b 0a 20 20 20 ;.........return.$result[0];....
25460 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 65 .}......//.}}}.....//.{{{.create
25480 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 Sequence()......function.createS
254a0 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 equence($seq_name).....{........
254c0 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 .$seqname.=.$this->getSequenceNa
254e0 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 me($seq_name);.........return.$t
25500 68 69 73 2d 3e 71 75 65 72 79 28 22 43 52 45 41 54 45 20 54 41 42 4c 45 20 24 73 65 71 6e 61 6d his->query("CREATE.TABLE.$seqnam
25520 65 20 22 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.".............................
25540 20 27 28 5b 69 64 5d 20 5b 69 6e 74 5d 20 49 44 45 4e 54 49 54 59 20 28 31 2c 20 31 29 20 4e 4f .'([id].[int].IDENTITY.(1,.1).NO
25560 54 20 4e 55 4c 4c 20 2c 27 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 T.NULL.,'.......................
25580 20 20 20 20 20 20 20 20 27 5b 76 61 70 6f 72 5d 20 5b 69 6e 74 5d 20 4e 55 4c 4c 29 27 29 3b 0a ........'[vapor].[int].NULL)');.
255a0 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 72 6f 70 ....}.....//.}}}.....//.{{{.drop
255c0 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 72 6f 70 53 65 71 Sequence()......function.dropSeq
255e0 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 uence($seq_name).....{.........$
25600 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 seqname.=.$this->getSequenceName
25620 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 ($seq_name);.........return.$thi
25640 73 2d 3e 71 75 65 72 79 28 22 44 52 4f 50 20 54 41 42 4c 45 20 24 73 65 71 6e 61 6d 65 22 29 3b s->query("DROP.TABLE.$seqname");
25660 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 .....}.....//.}}}......function.
25680 65 72 72 6f 72 43 6f 64 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d errorCode().....{.........$this-
256a0 3e 70 75 73 68 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 >pushErrorHandling(PEAR_ERROR_RE
256c0 54 55 52 4e 29 3b 0a 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 5f 63 6f 64 65 20 3d 20 24 74 68 TURN);.........$error_code.=.$th
256e0 69 73 2d 3e 67 65 74 4f 6e 65 28 27 73 65 6c 65 63 74 20 40 40 45 52 52 4f 52 20 61 73 20 45 72 is->getOne('select.@@ERROR.as.Er
25700 72 6f 72 43 6f 64 65 27 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 6f 70 45 72 72 rorCode');.........$this->popErr
25720 6f 72 48 61 6e 64 6c 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 20 44 65 62 orHandling();.........//.XXX.Deb
25740 75 67 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 72 72 ug.........if.(!isset($this->err
25760 6f 72 63 6f 64 65 5f 6d 61 70 5b 24 65 72 72 6f 72 5f 63 6f 64 65 5d 29 29 20 7b 0a 20 20 20 20 orcode_map[$error_code])).{.....
25780 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 45 52 52 4f 52 3b 0a 20 20 20 20 20 20 20 ........return.DB_ERROR;........
257a0 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 72 72 6f 72 5f 63 6f 64 65 3b 0a 20 .}.........return.$error_code;..
257c0 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 73 73 71 6c 52 61 69 73 65 45 72 72 ...}......function.mssqlRaiseErr
257e0 6f 72 28 24 63 6f 64 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 or($code.=.null).....{.........i
25800 66 20 28 24 63 6f 64 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 f.($code.!==.null).{............
25820 20 24 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 29 3b 0a 20 20 20 .$code.=.$this->errorCode();....
25840 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 63 6f 64 65 29 29 .........if.(DB::isError($code))
25860 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d .{.................return.$this-
25880 3e 72 61 69 73 65 45 72 72 6f 72 28 24 63 6f 64 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >raiseError($code);.............
258a0 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 }.........}.........return.$this
258c0 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 63 6f 64 65 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 ->raiseError($code,.null,.null,.
258e0 6e 75 6c 6c 2c 20 6d 73 73 71 6c 5f 67 65 74 5f 6c 61 73 74 5f 6d 65 73 73 61 67 65 28 29 29 3b null,.mssql_get_last_message());
25900 0a 20 20 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 69 6e .....}..../**.......*.Returns.in
25920 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 74 61 62 6c 65 20 6f 72 20 61 20 72 65 73 formation.about.a.table.or.a.res
25940 75 6c 74 20 73 65 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4e 4f 54 45 3a 20 64 6f 65 73 ult.set......*......*.NOTE:.does
25960 6e 27 74 20 73 75 70 70 6f 72 74 20 74 61 62 6c 65 20 6e 61 6d 65 20 61 6e 64 20 66 6c 61 67 73 n't.support.table.name.and.flags
25980 20 69 66 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 64 62 5f 72 65 73 75 6c 74 0a 20 20 20 20 .if.called.from.a.db_result.....
259a0 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 6d 69 78 65 64 20 24 72 65 73 6f 75 72 63 .*......*.@param..mixed.$resourc
259c0 65 20 53 51 4c 20 53 65 72 76 65 72 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 20 6f e.SQL.Server.result.identifier.o
259e0 72 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 69 6e 74 20 r.table.name......*.@param..int.
25a00 24 6d 6f 64 65 20 41 20 76 61 6c 69 64 20 74 61 62 6c 65 49 6e 66 6f 20 6d 6f 64 65 20 28 44 42 $mode.A.valid.tableInfo.mode.(DB
25a20 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 6f 72 0a 20 20 20 20 20 2a 20 _TABLEINFO_ORDERTABLE.or......*.
25a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f ..................DB_TABLEINFO_O
25a60 52 44 45 52 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 RDER)......*......*.@return.arra
25a80 79 20 41 6e 20 61 72 72 61 79 20 77 69 74 68 20 61 6c 6c 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 y.An.array.with.all.the.informat
25aa0 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 49 ion......*/......function.tableI
25ac0 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b nfo($result,.$mode.=.null).....{
25ae0 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 69 ..........$count.=.0;.........$i
25b00 64 20 20 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 20 20 3d 20 61 72 72 61 79 d....=.0;.........$res...=.array
25b20 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 64 65 70 65 6e ();........../*..........*.depen
25b40 64 69 6e 67 20 6f 6e 20 24 6d 6f 64 65 2c 20 6d 65 74 61 64 61 74 61 20 72 65 74 75 72 6e 73 20 ding.on.$mode,.metadata.returns.
25b60 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 2a the.following.values:..........*
25b80 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 66 61 6c 73 65 20 28 64 65 66 ..........*.-.mode.is.false.(def
25ba0 61 75 6c 74 29 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 24 72 65 73 75 6c 74 5b 5d 3a 0a 20 20 20 ault):..........*.$result[]:....
25bc0 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 ......*...[0]["table"]..table.na
25be0 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 69 me..........*...[0]["name"]...fi
25c00 65 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 eld.name..........*...[0]["type"
25c20 5d 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b ]...field.type..........*...[0][
25c40 22 6c 65 6e 22 5d 20 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 "len"]....field.length..........
25c60 2a 20 20 20 5b 30 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 73 0a 20 20 *...[0]["flags"]..field.flags...
25c80 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 .......*..........*.-.mode.is.DB
25ca0 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 20 2a 20 24 72 65 73 _TABLEINFO_ORDER..........*.$res
25cc0 75 6c 74 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6e 75 6d 5f 66 69 65 6c 64 73 ult[]:..........*...["num_fields
25ce0 22 5d 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 74 61 64 61 74 61 20 72 65 63 6f 72 64 73 0a 20 20 "].number.of.metadata.records...
25d00 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e .......*...[0]["table"]..table.n
25d20 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 ame..........*...[0]["name"]...f
25d40 69 65 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 ield.name..........*...[0]["type
25d60 22 5d 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d "]...field.type..........*...[0]
25d80 5b 22 6c 65 6e 22 5d 20 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 ["len"]....field.length.........
25da0 20 2a 20 20 20 5b 30 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 73 0a 20 .*...[0]["flags"]..field.flags..
25dc0 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 22 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 ........*...["order"][field.name
25de0 5d 20 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e ]..index.of.field.named."field.n
25e00 61 6d 65 22 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 68 65 20 6c 61 73 74 20 6f 6e 65 20 69 ame"..........*...The.last.one.i
25e20 73 20 75 73 65 64 2c 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 20 66 69 65 6c 64 20 6e 61 6d 65 s.used,.if.you.have.a.field.name
25e40 2c 20 62 75 74 20 6e 6f 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 65 73 ,.but.no.index...........*...Tes
25e60 74 3a 20 20 69 66 20 28 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 6d 65 74 61 27 5d 5b 27 6d t:..if.(isset($result['meta']['m
25e80 79 66 69 65 6c 64 27 5d 29 29 20 7b 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 yfield'])).{..............*.....
25ea0 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 .....*.-.mode.is.DB_TABLEINFO_OR
25ec0 44 45 52 54 41 42 4c 45 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 74 68 65 20 73 61 6d 65 20 DERTABLE..........*....the.same.
25ee0 61 73 20 61 62 6f 76 65 2e 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 20 20 20 20 20 as.above..but.additionally......
25f00 20 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 74 61 62 6c 65 22 5d 5b 74 61 62 6c 65 20 6e 61 6d ....*...["ordertable"][table.nam
25f20 65 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 0a 20 20 e][field.name].index.of.field...
25f40 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 6d 65 22 .......*......named."field.name"
25f60 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 68 69 73 ..........*..........*......this
25f80 20 69 73 2c 20 62 65 63 61 75 73 65 20 69 66 20 79 6f 75 20 68 61 76 65 20 66 69 65 6c 64 73 20 .is,.because.if.you.have.fields.
25fa0 66 72 6f 6d 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 from.different..........*......t
25fc0 61 62 6c 65 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 2a ables.with.the.same.field.name.*
25fe0 20 74 68 65 79 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 .they.override.each..........*..
26000 20 20 20 20 6f 74 68 65 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 ....other.with.DB_TABLEINFO_ORDE
26020 52 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 79 6f 75 R..........*..........*......you
26040 20 63 61 6e 20 63 6f 6d 62 69 6e 65 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 .can.combine.DB_TABLEINFO_ORDER.
26060 61 6e 64 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f and..........*......DB_TABLEINFO
26080 5f 4f 52 44 45 52 54 41 42 4c 45 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 _ORDERTABLE.with.DB_TABLEINFO_OR
260a0 44 45 52 20 7c 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e DER.|..........*......DB_TABLEIN
260c0 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 2a 20 6f 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 FO_ORDERTABLE.*.or.with.DB_TABLE
260e0 49 4e 46 4f 5f 46 55 4c 4c 0a 20 20 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 20 20 20 20 2f INFO_FULL..........*/........../
26100 2f 20 69 66 20 24 72 65 73 75 6c 74 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 74 68 65 6e 20 77 /.if.$result.is.a.string,.then.w
26120 65 20 77 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 0a 20 20 20 20 20 e.want.information.about.a......
26140 20 20 20 2f 2f 20 74 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 20 72 65 73 75 6c 74 73 65 74 0a ...//.table.without.a.resultset.
26160 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 .........if.(is_string($result))
26180 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 73 73 71 6c 5f 73 65 6c 65 63 .{.............if.(!@mssql_selec
261a0 74 5f 64 62 28 24 74 68 69 73 2d 3e 5f 64 62 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 t_db($this->_db,.$this->connecti
261c0 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 on)).{.................return.$t
261e0 68 69 73 2d 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f his->mssqlRaiseError(DB_ERROR_NO
26200 44 42 53 45 4c 45 43 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 DBSELECTED);.............}......
26220 20 20 20 20 20 20 20 24 69 64 20 3d 20 6d 73 73 71 6c 5f 71 75 65 72 79 28 22 53 45 4c 45 43 54 .......$id.=.mssql_query("SELECT
26240 20 2a 20 46 52 4f 4d 20 24 72 65 73 75 6c 74 22 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 .*.FROM.$result",.$this->connect
26260 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 ion);.............if.(empty($id)
26280 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 ).{.................return.$this
262a0 2d 3e 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->mssqlRaiseError();............
262c0 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 65 6c 73 65 20 77 65 20 77 .}.........}.else.{.//.else.we.w
262e0 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 72 65 73 75 6c 74 73 65 ant.information.about.a.resultse
26300 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 t.............$id.=.$result;....
26320 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 29 20 7b 0a 20 20 20 20 20 .........if.(empty($id)).{......
26340 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 73 73 71 6c 52 61 ...........return.$this->mssqlRa
26360 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 iseError();.............}.......
26380 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 40 6d 73 73 71 6c 5f 6e 75 6d ..}..........$count.=.@mssql_num
263a0 5f 66 69 65 6c 64 73 28 24 69 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 6d 61 64 65 20 74 _fields($id);..........//.made.t
263c0 68 69 73 20 49 46 20 64 75 65 20 74 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 28 6f 6e 65 20 69 his.IF.due.to.performance.(one.i
263e0 66 20 69 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 24 63 6f 75 6e 74 20 69 66 27 73 29 0a 20 20 f.is.faster.than.$count.if's)...
26400 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 6d 6f 64 65 29 29 20 7b 0a 0a 20 20 20 20 20 ......if.(empty($mode)).{.......
26420 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b .......for.($i=0;.$i<$count;.$i+
26440 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 +).{.................$res[$i]['t
26460 61 62 6c 65 27 5d 20 3d 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 able'].=.(is_string($result)).?.
26480 24 72 65 73 75 6c 74 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 $result.:.'';.................$r
264a0 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 20 20 3d 20 40 6d 73 73 71 6c 5f 66 69 65 6c 64 5f 6e es[$i]['name']..=.@mssql_field_n
264c0 61 6d 65 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 ame($id,.$i);.................$r
264e0 65 73 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 20 3d 20 40 6d 73 73 71 6c 5f 66 69 65 6c 64 5f 74 es[$i]['type']..=.@mssql_field_t
26500 79 70 65 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 ype($id,.$i);.................$r
26520 65 73 5b 24 69 5d 5b 27 6c 65 6e 27 5d 20 20 20 3d 20 40 6d 73 73 71 6c 5f 66 69 65 6c 64 5f 6c es[$i]['len']...=.@mssql_field_l
26540 65 6e 67 74 68 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ength($id,.$i);.................
26560 24 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 $res[$i]['flags'].=.'';.........
26580 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 66 75 6c 6c 0a ....}..........}.else.{.//.full.
265a0 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6e 75 6d 5f 66 69 65 6c 64 73 27 5d 3d 20 ............$res['num_fields']=.
265c0 24 63 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 3d 30 3b 20 $count;..............for.($i=0;.
265e0 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $i<$count;.$i++).{..............
26600 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 20 3d 20 28 69 73 5f 73 74 72 69 6e ...$res[$i]['table'].=.(is_strin
26620 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 24 72 65 73 75 6c 74 20 3a 20 27 27 3b 0a 20 20 20 20 g($result)).?.$result.:.'';.....
26640 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 20 20 3d 20 ............$res[$i]['name']..=.
26660 40 6d 73 73 71 6c 5f 66 69 65 6c 64 5f 6e 61 6d 65 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 @mssql_field_name($id,.$i);.....
26680 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 20 3d 20 ............$res[$i]['type']..=.
266a0 40 6d 73 73 71 6c 5f 66 69 65 6c 64 5f 74 79 70 65 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 @mssql_field_type($id,.$i);.....
266c0 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6c 65 6e 27 5d 20 20 20 3d 20 ............$res[$i]['len']...=.
266e0 40 6d 73 73 71 6c 5f 66 69 65 6c 64 5f 6c 65 6e 67 74 68 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 @mssql_field_length($id,.$i);...
26700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d 20 ..............$res[$i]['flags'].
26720 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 20 =.'';.................if.($mode.
26740 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 20 7b 0a 20 20 20 20 20 20 20 20 &.DB_TABLEINFO_ORDER).{.........
26760 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 27 5d 5b 24 72 65 73 5b 24 ............$res['order'][$res[$
26780 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 i]['name']].=.$i;...............
267a0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 20 26 20 ..}.................if.($mode.&.
267c0 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 29 20 7b 0a 20 20 20 20 20 DB_TABLEINFO_ORDERTABLE).{......
267e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 74 61 62 6c 65 27 ...............$res['ordertable'
26800 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 6e ][$res[$i]['table']][$res[$i]['n
26820 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ame']].=.$i;.................}..
26840 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ...........}.........}..........
26860 2f 2f 20 66 72 65 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 6e 6c 79 20 69 66 20 77 65 20 77 65 //.free.the.result.only.if.we.we
26880 72 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 re.called.on.a.table.........if.
268a0 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 (is_string($result)).{..........
268c0 20 20 20 40 6d 73 73 71 6c 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 69 64 29 3b 0a 20 20 20 20 ...@mssql_free_result($id);.....
268e0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 7d ....}.........return.$res;.....}
26900 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 29 0a 0a ......//.{{{.getSpecialQuery()..
26920 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 71 75 65 72 79 20 ..../**.....*.Returns.the.query.
26940 6e 65 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 20 62 61 63 6b 65 6e 64 20 69 6e 66 6f 0a needed.to.get.some.backend.info.
26960 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 70 65 20 57 68 61 74 20 6b ....*.@param.string.$type.What.k
26980 69 6e 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 ind.of.info.you.want.to.retrieve
269a0 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 53 51 4c 20 71 75 .....*.@return.string.The.SQL.qu
269c0 65 72 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 ery.string.....*/.....function.g
269e0 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 etSpecialQuery($type).....{.....
26a00 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ....switch.($type).{............
26a20 20 63 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .case.'tables':.................
26a40 24 73 71 6c 20 3d 20 22 73 65 6c 65 63 74 20 6e 61 6d 65 20 66 72 6f 6d 20 73 79 73 6f 62 6a 65 $sql.=."select.name.from.sysobje
26a60 63 74 73 20 77 68 65 72 65 20 74 79 70 65 20 3d 20 27 55 27 20 6f 72 64 65 72 20 62 79 20 6e 61 cts.where.type.=.'U'.order.by.na
26a80 6d 65 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 me";.................break;.....
26aa0 20 20 20 20 20 20 20 20 63 61 73 65 20 27 76 69 65 77 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 ........case.'views':...........
26ac0 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 73 65 6c 65 63 74 20 6e 61 6d 65 20 66 72 6f 6d 20 73 ......$sql.=."select.name.from.s
26ae0 79 73 6f 62 6a 65 63 74 73 20 77 68 65 72 65 20 74 79 70 65 20 3d 20 27 56 27 22 3b 0a 20 20 20 ysobjects.where.type.=.'V'";....
26b00 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............break;.............
26b20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 default:.................return.
26b40 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 null;.........}.........return.$
26b60 73 71 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 7d 0a 3f 3e 00 00 00 00 sql;.....}......//.}}}..}.?>....
26b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c00 44 42 2d 31 2e 33 2f 44 42 2f 6d 79 73 71 6c 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/mysql.php.............
26c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
26c80 20 20 36 34 34 34 31 20 20 37 35 30 33 37 35 31 34 34 32 20 20 20 37 30 35 35 20 00 00 00 00 00 ..64441..7503751442...7055......
26ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e00 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
26e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
26e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
26e60 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
26e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
26ea0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
26ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
26ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
26f00 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
26f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
26f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
26f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
26f80 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
26fa0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
26fc0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
26fe0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
27000 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
27020 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
27040 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
27060 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
27080 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
270a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
270c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
270e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
27100 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
27120 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
27140 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
27160 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
27180 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
271a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
271c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
271e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 ---+.//.|.Author:.Stig.Bakken.<s
27200 73 62 40 66 61 73 74 2e 6e 6f 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sb@fast.no>.....................
27220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
27240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
27260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
27280 2f 2f 20 24 49 64 3a 20 6d 79 73 71 6c 2e 70 68 70 2c 76 20 31 2e 35 20 32 30 30 32 2f 30 36 2f //.$Id:.mysql.php,v.1.5.2002/06/
272a0 31 39 20 30 30 3a 34 31 3a 30 36 20 63 6f 78 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 19.00:41:06.cox.Exp.$.//.//.Data
272c0 62 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 base.independent.query.interface
272e0 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 4d 79 53 51 4c 0a 2f 2f 20 65 .definition.for.PHP's.MySQL.//.e
27300 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 2f 2f 0a 2f 2f 20 58 58 58 20 6c 65 67 65 6e 64 3a 0a xtension..//..//.//.XXX.legend:.
27320 2f 2f 0a 2f 2f 20 58 58 58 20 45 52 52 4f 52 4d 53 47 3a 20 54 68 65 20 65 72 72 6f 72 20 6d 65 //.//.XXX.ERRORMSG:.The.error.me
27340 73 73 61 67 65 20 66 72 6f 6d 20 74 68 65 20 6d 79 73 71 6c 20 66 75 6e 63 74 69 6f 6e 20 73 68 ssage.from.the.mysql.function.sh
27360 6f 75 6c 64 0a 2f 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 20 72 65 67 69 73 74 65 ould.//...............be.registe
27380 72 65 64 20 68 65 72 65 2e 0a 2f 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2f 63 red.here..//..require_once."DB/c
273a0 6f 6d 6d 6f 6e 2e 70 68 70 22 3b 0a 0a 63 6c 61 73 73 20 44 42 5f 6d 79 73 71 6c 20 65 78 74 65 ommon.php";..class.DB_mysql.exte
273c0 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 6f 70 65 nds.DB_common.{.....//.{{{.prope
273e0 72 74 69 65 73 0a 0a 20 20 20 20 76 61 72 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 20 20 20 20 rties......var.$connection;.....
27400 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 24 64 62 73 79 6e 74 61 78 3b 0a 20 20 20 20 76 61 72 var.$phptype,.$dbsyntax;.....var
27420 20 24 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 .$prepare_tokens.=.array();.....
27440 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 var.$prepare_types.=.array();...
27460 20 20 76 61 72 20 24 6e 75 6d 5f 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 ..var.$num_rows.=.array();.....v
27480 61 72 20 24 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 ar.$transaction_opcount.=.0;....
274a0 20 76 61 72 20 24 61 75 74 6f 63 6f 6d 6d 69 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 76 61 72 .var.$autocommit.=.true;.....var
274c0 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 .$fetchmode.=.DB_FETCHMODE_ORDER
274e0 45 44 3b 20 2f 2a 20 44 65 66 61 75 6c 74 20 66 65 74 63 68 20 6d 6f 64 65 20 2a 2f 0a 20 20 20 ED;./*.Default.fetch.mode.*/....
27500 20 76 61 72 20 24 5f 64 62 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 .var.$_db.=.false;......//.}}}..
27520 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 75 63 74 6f 72 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ...//.{{{.constructor....../**..
27540 20 20 20 20 2a 20 44 42 5f 6d 79 73 71 6c 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 ....*.DB_mysql.constructor......
27560 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f .*......*.@access.public......*/
27580 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 6d 79 73 71 6c 28 29 0a 20 20 20 20 7b 0a ......function.DB_mysql().....{.
275a0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a 20 20 20 20 ........$this->DB_common();.....
275c0 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 6d 79 73 71 6c 27 3b 0a 20 20 ....$this->phptype.=.'mysql';...
275e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 6d 79 73 71 6c 27 3b ......$this->dbsyntax.=.'mysql';
27600 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 79 .........$this->features.=.array
27620 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e 20 66 61 6c 73 65 (.............'prepare'.=>.false
27640 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 75 65 ,.............'pconnect'.=>.true
27660 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d 3e 20 ,.............'transactions'.=>.
27680 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 3d 3e 20 27 61 6c true,.............'limit'.=>.'al
276a0 74 65 72 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 ter'.........);.........$this->e
276c0 72 72 6f 72 63 6f 64 65 5f 6d 61 70 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 rrorcode_map.=.array(...........
276e0 20 20 31 30 30 34 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 43 52 45 41 54 45 ..1004.=>.DB_ERROR_CANNOT_CREATE
27700 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 35 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 ,.............1005.=>.DB_ERROR_C
27720 41 4e 4e 4f 54 5f 43 52 45 41 54 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 36 20 3d ANNOT_CREATE,.............1006.=
27740 3e 20 44 42 5f 45 52 52 4f 52 5f 43 41 4e 4e 4f 54 5f 43 52 45 41 54 45 2c 0a 20 20 20 20 20 20 >.DB_ERROR_CANNOT_CREATE,.......
27760 20 20 20 20 20 20 31 30 30 37 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 ......1007.=>.DB_ERROR_ALREADY_E
27780 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 38 20 3d 3e 20 44 42 5f 45 52 XISTS,.............1008.=>.DB_ER
277a0 52 4f 52 5f 43 41 4e 4e 4f 54 5f 44 52 4f 50 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 34 ROR_CANNOT_DROP,.............104
277c0 36 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 2c 0a 20 20 20 20 6.=>.DB_ERROR_NODBSELECTED,.....
277e0 20 20 20 20 20 20 20 20 31 30 35 30 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 ........1050.=>.DB_ERROR_ALREADY
27800 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 35 31 20 3d 3e 20 44 42 5f _EXISTS,.............1051.=>.DB_
27820 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 ERROR_NOSUCHTABLE,.............1
27840 30 35 34 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 2c 0a 20 20 20 054.=>.DB_ERROR_NOSUCHFIELD,....
27860 20 20 20 20 20 20 20 20 20 31 30 36 32 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 .........1062.=>.DB_ERROR_ALREAD
27880 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 30 36 34 20 3d 3e 20 44 42 Y_EXISTS,.............1064.=>.DB
278a0 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 31 30 30 20 _ERROR_SYNTAX,.............1100.
278c0 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 4c 4f 43 4b 45 44 2c 0a 20 20 20 20 20 20 20 20 =>.DB_ERROR_NOT_LOCKED,.........
278e0 20 20 20 20 31 31 33 36 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 56 41 4c 55 45 5f 43 4f 55 4e 54 ....1136.=>.DB_ERROR_VALUE_COUNT
27900 5f 4f 4e 5f 52 4f 57 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 31 34 36 20 3d 3e 20 44 42 5f _ON_ROW,.............1146.=>.DB_
27920 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 ERROR_NOSUCHTABLE,.............1
27940 30 34 38 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 2c 0a 20 20 20 20 048.=>.DB_ERROR_CONSTRAINT,.....
27960 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 20 20 20 20 2f 2f ....);.....}......//.}}}......//
27980 20 7b 7b 7b 20 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 .{{{.connect()....../**......*.C
279a0 6f 6e 6e 65 63 74 20 74 6f 20 61 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 6c 6f 67 20 69 6e 20 onnect.to.a.database.and.log.in.
279c0 61 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 as.the.specified.user.......*...
279e0 20 20 20 2a 20 40 70 61 72 61 6d 20 24 64 73 6e 20 74 68 65 20 64 61 74 61 20 73 6f 75 72 63 65 ...*.@param.$dsn.the.data.source
27a00 20 6e 61 6d 65 20 28 73 65 65 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 20 66 6f 72 20 73 79 6e 74 .name.(see.DB::parseDSN.for.synt
27a20 61 78 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 70 65 72 73 69 73 74 65 6e 74 20 28 6f ax)......*.@param.$persistent.(o
27a40 70 74 69 6f 6e 61 6c 29 20 77 68 65 74 68 65 72 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 ptional).whether.the.connection.
27a60 73 68 6f 75 6c 64 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 62 65 20 70 65 72 73 69 73 74 65 should......*........be.persiste
27a80 6e 74 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 nt......*.@access.public......*.
27aa0 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 @return.int.DB_OK.on.success,.a.
27ac0 44 42 20 65 72 72 6f 72 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 DB.error.on.failure......*/.....
27ae0 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f 2c 20 24 70 65 72 .function.connect($dsninfo,.$per
27b00 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 sistent.=.false).....{.........i
27b20 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 6d 79 73 71 6c 27 29 f.(!DB::assertExtension('mysql')
27b40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 ).............return.$this->rais
27b60 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f eError(DB_ERROR_EXTENSION_NOT_FO
27b80 55 4e 44 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 24 64 73 6e UND);..........$this->dsn.=.$dsn
27ba0 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 64 73 6e 69 6e 66 6f info;.........if.(isset($dsninfo
27bc0 5b 27 70 72 6f 74 6f 63 6f 6c 27 5d 29 20 26 26 20 24 64 73 6e 69 6e 66 6f 5b 27 70 72 6f 74 6f ['protocol']).&&.$dsninfo['proto
27be0 63 6f 6c 27 5d 20 3d 3d 20 27 75 6e 69 78 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 col'].==.'unix').{.............$
27c00 64 62 68 6f 73 74 20 3d 20 27 3a 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 73 6f 63 6b 65 74 27 dbhost.=.':'...$dsninfo['socket'
27c20 5d 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ];.........}.else.{.............
27c40 24 64 62 68 6f 73 74 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3f $dbhost.=.$dsninfo['hostspec'].?
27c60 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3a 20 27 6c 6f 63 61 6c 68 6f .$dsninfo['hostspec'].:.'localho
27c80 73 74 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 64 73 6e st';.............if.(!empty($dsn
27ca0 69 6e 66 6f 5b 27 70 6f 72 74 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 info['port'])).{................
27cc0 20 24 64 62 68 6f 73 74 20 2e 3d 20 27 3a 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 70 6f 72 74 .$dbhost..=.':'...$dsninfo['port
27ce0 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 '];.............}.........}.....
27d00 20 20 20 20 24 75 73 65 72 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d ....$user.=.$dsninfo['username']
27d20 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f ;.........$pw.=.$dsninfo['passwo
27d40 72 64 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e rd'];..........$connect_function
27d60 20 3d 20 24 70 65 72 73 69 73 74 65 6e 74 20 3f 20 27 6d 79 73 71 6c 5f 70 63 6f 6e 6e 65 63 74 .=.$persistent.?.'mysql_pconnect
27d80 27 20 3a 20 27 6d 79 73 71 6c 5f 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 40 69 '.:.'mysql_connect';..........@i
27da0 6e 69 5f 73 65 74 28 27 74 72 61 63 6b 5f 65 72 72 6f 72 73 27 2c 20 74 72 75 65 29 3b 0a 20 20 ni_set('track_errors',.true);...
27dc0 20 20 20 20 20 20 69 66 20 28 24 64 62 68 6f 73 74 20 26 26 20 24 75 73 65 72 20 26 26 20 24 70 ......if.($dbhost.&&.$user.&&.$p
27de0 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 w).{.............$conn.=.@$conne
27e00 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 2c 20 24 75 73 65 72 2c 20 24 70 77 29 ct_function($dbhost,.$user,.$pw)
27e20 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 62 68 6f 73 74 20 26 26 20 24 ;.........}.elseif.($dbhost.&&.$
27e40 75 73 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f user).{.............$conn.=.@$co
27e60 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 2c 20 24 75 73 65 72 29 3b 0a nnect_function($dbhost,.$user);.
27e80 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 62 68 6f 73 74 29 20 7b 0a 20 20 20 ........}.elseif.($dbhost).{....
27ea0 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 .........$conn.=.@$connect_funct
27ec0 69 6f 6e 28 24 64 62 68 6f 73 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ion($dbhost);.........}.else.{..
27ee0 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 ...........$conn.=.false;.......
27f00 20 20 7d 0a 20 20 20 20 20 20 20 20 40 69 6e 69 5f 72 65 73 74 6f 72 65 28 27 74 72 61 63 6b 5f ..}.........@ini_restore('track_
27f20 65 72 72 6f 72 73 27 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 63 6f 6e errors');.........if.(empty($con
27f40 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 65 72 72 20 3d 20 40 6d n)).{.............if.(($err.=.@m
27f60 79 73 71 6c 5f 65 72 72 6f 72 28 29 29 20 21 3d 20 27 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ysql_error()).!=.'').{..........
27f80 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 .......return.$this->raiseError(
27fa0 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 2c 20 6e 75 6c 6c 2c 20 6e DB_ERROR_CONNECT_FAILED,.null,.n
27fc0 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ull,............................
27fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 24 65 72 72 29 3b 0a 20 20 20 20 20 ..............null,.$err);......
28000 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 65 6d 70 74 79 28 24 70 68 70 5f 65 72 72 6f .......}.elseif.(empty($php_erro
28020 72 6d 73 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 rmsg)).{.................return.
28040 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 $this->raiseError(DB_ERROR_CONNE
28060 43 54 5f 46 41 49 4c 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b CT_FAILED);.............}.else.{
28080 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 .................return.$this->r
280a0 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 aiseError(DB_ERROR_CONNECT_FAILE
280c0 44 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 D,.null,.null,..................
280e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 24 70 ........................null,.$p
28100 68 70 5f 65 72 72 6f 72 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 hp_errormsg);.............}.....
28120 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 ....}..........if.($dsninfo['dat
28140 61 62 61 73 65 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 79 73 abase']).{.............if.(!@mys
28160 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 ql_select_db($dsninfo['database'
28180 5d 2c 20 24 63 6f 6e 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 ],.$conn)).{................swit
281a0 63 68 28 6d 79 73 71 6c 5f 65 72 72 6e 6f 28 24 63 6f 6e 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 ch(mysql_errno($conn)).{........
281c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 31 30 34 39 3a 0a 20 20 20 20 .................case.1049:.....
281e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 ........................return.$
28200 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 this->raiseError(DB_ERROR_NOSUCH
28220 44 42 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 DB,.null,.null,.................
28240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28260 20 20 20 20 20 6e 75 6c 6c 2c 20 6d 79 73 71 6c 5f 65 72 72 6f 72 28 24 63 6f 6e 6e 29 29 3b 0a .....null,.mysql_error($conn));.
28280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 ............................brea
282a0 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 k;.........................case.
282c0 31 30 34 34 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1044:...........................
282e0 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 ...return.$this->raiseError(DB_E
28300 52 52 4f 52 5f 41 43 43 45 53 53 5f 56 49 4f 4c 41 54 49 4f 4e 2c 20 6e 75 6c 6c 2c 20 6e 75 6c RROR_ACCESS_VIOLATION,.null,.nul
28320 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l,..............................
28340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6d .........................null,.m
28360 79 73 71 6c 5f 65 72 72 6f 72 28 24 63 6f 6e 6e 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ysql_error($conn));.............
28380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 ................break;..........
283a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 ...............default:.........
283c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 ....................return.$this
283e0 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 2c 20 6e 75 6c 6c 2c 20 6e 75 6c ->raiseError(DB_ERROR,.null,.nul
28400 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l,..............................
28420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6d 79 ........................null,.my
28440 73 71 6c 5f 65 72 72 6f 72 28 24 63 6f 6e 6e 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 sql_error($conn));..............
28460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 20 20 20 20 20 ...............break;...........
28480 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...........}.............}......
284a0 20 20 20 20 20 20 20 2f 2f 20 66 69 78 20 74 6f 20 61 6c 6c 6f 77 20 63 61 6c 6c 73 20 74 6f 20 .......//.fix.to.allow.calls.to.
284c0 64 69 66 66 65 72 65 6e 74 20 64 61 74 61 62 61 73 65 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 different.databases.in.the.same.
284e0 73 63 72 69 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 64 62 20 3d 20 script.............$this->_db.=.
28500 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a $dsninfo['database'];.........}.
28520 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 24 63 6f .........$this->connection.=.$co
28540 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a nn;.........return.DB_OK;.....}.
28560 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 69 73 63 6f 6e 6e 65 63 .....//.}}}.....//.{{{.disconnec
28580 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 67 20 6f 75 74 20 61 6e 64 20 t()....../**......*.Log.out.and.
285a0 64 69 73 63 6f 6e 6e 65 63 74 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 20 disconnect.from.the.database....
285c0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 ...*......*.@access.public......
285e0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 73 75 *......*.@return.bool.TRUE.on.su
28600 63 63 65 73 73 2c 20 46 41 4c 53 45 20 69 66 20 6e 6f 74 20 63 6f 6e 6e 65 63 74 65 64 2e 0a 20 ccess,.FALSE.if.not.connected...
28620 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 ....*/.....function.disconnect()
28640 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 6d 79 73 71 6c 5f 63 6c 6f 73 .....{.........$ret.=.mysql_clos
28660 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 74 e($this->connection);.........$t
28680 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 his->connection.=.null;.........
286a0 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 return.$ret;.....}......//.}}}..
286c0 20 20 20 2f 2f 20 7b 7b 7b 20 73 69 6d 70 6c 65 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a ...//.{{{.simpleQuery()....../**
286e0 0a 20 20 20 20 20 2a 20 53 65 6e 64 20 61 20 71 75 65 72 79 20 74 6f 20 4d 79 53 51 4c 20 61 6e ......*.Send.a.query.to.MySQL.an
28700 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 73 20 61 20 4d 79 53 51 4c 20 d.return.the.results.as.a.MySQL.
28720 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 20 20 20 20 resource......*.identifier......
28740 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 74 68 65 20 53 51 4c 20 71 75 65 72 79 0a 20 .*......*.@param.the.SQL.query..
28760 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 ....*......*.@access.public.....
28780 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 72 65 74 75 72 6e 73 20 .*......*.@return.mixed.returns.
287a0 61 20 76 61 6c 69 64 20 4d 79 53 51 4c 20 72 65 73 75 6c 74 20 66 6f 72 20 73 75 63 63 65 73 73 a.valid.MySQL.result.for.success
287c0 66 75 6c 20 53 45 4c 45 43 54 0a 20 20 20 20 20 2a 20 71 75 65 72 69 65 73 2c 20 44 42 5f 4f 4b ful.SELECT......*.queries,.DB_OK
287e0 20 66 6f 72 20 6f 74 68 65 72 20 73 75 63 63 65 73 73 66 75 6c 20 71 75 65 72 69 65 73 2e 20 20 .for.other.successful.queries...
28800 41 20 44 42 20 65 72 72 6f 72 20 69 73 0a 20 20 20 20 20 2a 20 72 65 74 75 72 6e 65 64 20 6f 6e A.DB.error.is......*.returned.on
28820 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 .failure.......*/.....function.s
28840 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 impleQuery($query).....{........
28860 20 24 69 73 6d 61 6e 69 70 20 3d 20 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 3b .$ismanip.=.DB::isManip($query);
28880 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 71 75 .........$this->last_query.=.$qu
288a0 65 72 79 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 ery;.........$query.=.$this->mod
288c0 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 ifyQuery($query);.........if.($t
288e0 68 69 73 2d 3e 5f 64 62 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 79 his->_db).{.............if.(!@my
28900 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 74 68 69 73 2d 3e 5f 64 62 2c 20 24 74 68 69 73 2d sql_select_db($this->_db,.$this-
28920 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >connection)).{.................
28940 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 44 42 return.$this->mysqlRaiseError(DB
28960 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 _ERROR_NODBSELECTED);...........
28980 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 ..}.........}.........if.(!$this
289a0 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 20 26 26 20 24 69 73 6d 61 6e 69 70 29 20 7b 0a 20 20 20 20 ->autocommit.&&.$ismanip).{.....
289c0 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f ........if.($this->transaction_o
289e0 70 63 6f 75 6e 74 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 pcount.==.0).{.................$
28a00 72 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c 5f 71 75 65 72 79 28 27 53 45 54 20 41 55 54 4f 43 result.=.@mysql_query('SET.AUTOC
28a20 4f 4d 4d 49 54 3d 30 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 OMMIT=0',.$this->connection);...
28a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c 5f 71 ..............$result.=.@mysql_q
28a60 75 65 72 79 28 27 42 45 47 49 4e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 uery('BEGIN',.$this->connection)
28a80 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 ;.................if.(!$result).
28aa0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 {.....................return.$th
28ac0 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 is->mysqlRaiseError();..........
28ae0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .......}.............}..........
28b00 20 20 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 2b 2b 3b ...$this->transaction_opcount++;
28b20 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 79 .........}.........$result.=.@my
28b40 73 71 6c 5f 71 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 sql_query($query,.$this->connect
28b60 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 ion);.........if.(!$result).{...
28b80 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 ..........return.$this->mysqlRai
28ba0 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 seError();.........}.........if.
28bc0 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 (is_resource($result)).{........
28be0 20 20 20 20 20 24 6e 75 6d 72 6f 77 73 20 3d 20 24 74 68 69 73 2d 3e 6e 75 6d 72 6f 77 73 28 24 .....$numrows.=.$this->numrows($
28c00 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 6f 62 6a 65 result);.............if.(is_obje
28c20 63 74 28 24 6e 75 6d 72 6f 77 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct($numrows)).{.................
28c40 72 65 74 75 72 6e 20 24 6e 75 6d 72 6f 77 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 return.$numrows;.............}..
28c60 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 75 6d 5f 72 6f 77 73 5b 24 72 65 73 75 ...........$this->num_rows[$resu
28c80 6c 74 5d 20 3d 20 24 6e 75 6d 72 6f 77 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 lt].=.$numrows;.............retu
28ca0 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 rn.$result;.........}.........re
28cc0 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 turn.DB_OK;.....}......//.}}}...
28ce0 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ..//.{{{.nextResult()....../**..
28d00 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6d 79 73 71 6c 20 72 65 ....*.Move.the.internal.mysql.re
28d20 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 61 69 6c 61 62 sult.pointer.to.the.next.availab
28d40 6c 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 le.result......*......*.@param.a
28d60 20 76 61 6c 69 64 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 20 .valid.fbsql.result.resource....
28d80 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a ..*......*.@access.public......*
28da0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 65 73 75 6c 74 ......*.@return.true.if.a.result
28dc0 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 66 .is.available.otherwise.return.f
28de0 61 6c 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 65 alse......*/.....function.nextRe
28e00 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 sult($result).....{.........retu
28e20 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 rn.false;.....}......//.}}}.....
28e40 2f 2f 20 7b 7b 7b 20 66 65 74 63 68 52 6f 77 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 //.{{{.fetchRow()....../**......
28e60 2a 20 46 65 74 63 68 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 *.Fetch.and.return.a.row.of.data
28e80 20 28 69 74 20 75 73 65 73 20 66 65 74 63 68 49 6e 74 6f 20 66 6f 72 20 74 68 61 74 29 0a 20 20 .(it.uses.fetchInto.for.that)...
28ea0 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 4d 79 53 51 4c 20 72 65 73 75 6c 74 ...*.@param.$result.MySQL.result
28ec0 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 24 66 65 74 .identifier......*.@param...$fet
28ee0 63 68 6d 6f 64 65 20 20 66 6f 72 6d 61 74 20 6f 66 20 66 65 74 63 68 65 64 20 72 6f 77 20 61 72 chmode..format.of.fetched.row.ar
28f00 72 61 79 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 24 72 6f 77 6e 75 6d 20 20 20 20 20 ray......*.@param...$rownum.....
28f20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 the.absolute.row.number.to.fetch
28f40 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 20 61 72 72 61 79 20 20 20 ......*......*.@return..array...
28f60 61 20 72 6f 77 20 6f 66 20 64 61 74 61 2c 20 6f 72 20 66 61 6c 73 65 20 6f 6e 20 65 72 72 6f 72 a.row.of.data,.or.false.on.error
28f80 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 77 28 24 ......*/.....function.fetchRow($
28fa0 72 65 73 75 6c 74 2c 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 result,.$fetchmode.=.DB_FETCHMOD
28fc0 45 5f 44 45 46 41 55 4c 54 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 E_DEFAULT,.$rownum=null).....{..
28fe0 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 42 5f 46 45 54 43 .......if.($fetchmode.==.DB_FETC
29000 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 65 HMODE_DEFAULT).{.............$fe
29020 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 tchmode.=.$this->fetchmode;.....
29040 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 ....}.........$res.=.$this->fetc
29060 68 49 6e 74 6f 20 28 24 72 65 73 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 hInto.($result,.$arr,.$fetchmode
29080 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 20 21 3d 3d ,.$rownum);.........if.($res.!==
290a0 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 .DB_OK).{.............return.$re
290c0 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 s;.........}.........return.$arr
290e0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 ;.....}......//.}}}.....//.{{{.f
29100 65 74 63 68 49 6e 74 6f 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 etchInto()....../**......*.Fetch
29120 20 61 20 72 6f 77 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 64 61 74 61 20 69 6e 74 6f 20 .a.row.and.insert.the.data.into.
29140 61 6e 20 65 78 69 73 74 69 6e 67 20 61 72 72 61 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a an.existing.array.......*......*
29160 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 4d 79 53 51 4c 20 72 65 73 75 6c 74 20 69 64 65 .@param.$result.MySQL.result.ide
29180 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 61 72 72 20 28 72 65 66 65 ntifier......*.@param.$arr.(refe
291a0 72 65 6e 63 65 29 20 61 72 72 61 79 20 77 68 65 72 65 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 rence).array.where.data.from.the
291c0 20 72 6f 77 20 69 73 20 73 74 6f 72 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 66 65 .row.is.stored......*.@param.$fe
291e0 74 63 68 6d 6f 64 65 20 68 6f 77 20 74 68 65 20 61 72 72 61 79 20 64 61 74 61 20 73 68 6f 75 6c tchmode.how.the.array.data.shoul
29200 64 20 62 65 20 69 6e 64 65 78 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 24 72 6f d.be.indexed......*.@param...$ro
29220 77 6e 75 6d 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 0a 20 20 20 wnum.the.row.number.to.fetch....
29240 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ..*.@access.public......*......*
29260 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 .@return.int.DB_OK.on.success,.a
29280 20 44 42 20 65 72 72 6f 72 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 .DB.error.on.failure......*/....
292a0 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 26 24 61 .function.fetchInto($result,.&$a
292c0 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 rr,.$fetchmode,.$rownum=null)...
292e0 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 6e 75 6c 6c ..{.........if.($rownum.!==.null
29300 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 79 73 71 6c 5f 64 61 74 61 ).{.............if.(!@mysql_data
29320 5f 73 65 65 6b 28 24 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 29 29 20 7b 0a 20 20 20 20 20 _seek($result,.$rownum)).{......
29340 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 ...........return.null;.........
29360 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 ....}.........}.........if.($fet
29380 63 68 6d 6f 64 65 20 26 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 chmode.&.DB_FETCHMODE_ASSOC).{..
293a0 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 40 6d 79 73 71 6c 5f 66 65 74 63 68 5f 61 ...........$arr.=.@mysql_fetch_a
293c0 72 72 61 79 28 24 72 65 73 75 6c 74 2c 20 4d 59 53 51 4c 5f 41 53 53 4f 43 29 3b 0a 20 20 20 20 rray($result,.MYSQL_ASSOC);.....
293e0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 ....}.else.{.............$arr.=.
29400 40 6d 79 73 71 6c 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 @mysql_fetch_row($result);......
29420 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 61 72 72 29 20 7b 0a 20 20 20 20 20 20 ...}.........if.(!$arr).{.......
29440 20 20 20 20 20 20 24 65 72 72 6e 6f 20 3d 20 40 6d 79 73 71 6c 5f 65 72 72 6e 6f 28 24 74 68 69 ......$errno.=.@mysql_errno($thi
29460 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 s->connection);.............if.(
29480 21 24 65 72 72 6e 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 !$errno).{.................retur
294a0 6e 20 4e 55 4c 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 n.NULL;.............}...........
294c0 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 ..return.$this->mysqlRaiseError(
294e0 24 65 72 72 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 $errno);.........}.........retur
29500 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f n.DB_OK;.....}......//.}}}...../
29520 2f 20 7b 7b 7b 20 66 72 65 65 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 /.{{{.freeResult()....../**.....
29540 20 2a 20 46 72 65 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 72 65 73 6f 75 72 63 65 73 20 61 .*.Free.the.internal.resources.a
29560 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 24 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 2a 0a 20 ssociated.with.$result.......*..
29580 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 4d 79 53 51 4c 20 72 65 73 75 6c ....*.@param.$result.MySQL.resul
295a0 74 20 69 64 65 6e 74 69 66 69 65 72 20 6f 72 20 44 42 20 73 74 61 74 65 6d 65 6e 74 20 69 64 65 t.identifier.or.DB.statement.ide
295c0 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 ntifier......*......*.@access.pu
295e0 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 blic......*......*.@return.bool.
29600 54 52 55 45 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 46 41 4c 53 45 20 69 66 20 24 72 65 73 75 6c TRUE.on.success,.FALSE.if.$resul
29620 74 20 69 73 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f t.is.invalid......*/.....functio
29640 6e 20 66 72 65 65 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 n.freeResult($result).....{.....
29660 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a ....if.(is_resource($result)).{.
29680 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 79 73 71 6c 5f 66 72 65 65 5f 72 65 ............return.mysql_free_re
296a0 73 75 6c 74 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 sult($result);.........}........
296c0 20 20 24 72 65 73 75 6c 74 20 3d 20 28 69 6e 74 29 24 72 65 73 75 6c 74 3b 20 2f 2f 20 24 72 65 ..$result.=.(int)$result;.//.$re
296e0 73 75 6c 74 20 69 73 20 61 20 70 72 65 70 61 72 65 64 20 71 75 65 72 79 20 68 61 6e 64 6c 65 0a sult.is.a.prepared.query.handle.
29700 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 ........if.(!isset($this->prepar
29720 65 5f 74 6f 6b 65 6e 73 5b 24 72 65 73 75 6c 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 e_tokens[$result])).{...........
29740 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ..return.false;.........}.......
29760 20 20 20 2f 2f 20 5b 73 73 62 5d 3a 20 57 54 46 3f 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 ...//.[ssb]:.WTF?.unset($this->p
29780 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 72 65 73 75 6c 74 5d 29 20 6d 61 6b 65 73 20 50 48 50 repare_types[$result]).makes.PHP
297a0 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 72 61 73 68 20 6f 6e 20 6d 79 20 6c 61 70 74 6f 70 20 28 .........//.crash.on.my.laptop.(
297c0 34 2e 31 2e 32 20 61 73 20 77 65 6c 6c 20 61 73 20 34 2e 33 2e 30 2d 64 65 76 29 0a 0a 20 20 20 4.1.2.as.well.as.4.3.0-dev).....
297e0 20 20 20 20 20 24 63 6f 70 79 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 .....$copy.=.$this->prepare_type
29800 73 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 63 6f 70 79 5b 24 72 65 73 75 6c 74 5d 29 s;.........unset($copy[$result])
29820 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 20 3d ;.........$this->prepare_types.=
29840 20 24 63 6f 70 79 3b 0a 2f 2f 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 .$copy;.//........unset($this->p
29860 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 72 65 73 75 6c 74 5d 29 3b 0a 0a 20 20 20 20 20 20 20 repare_types[$result]);.........
29880 20 24 63 6f 70 79 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 3b 0a .$copy.=.$this->prepare_tokens;.
298a0 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 63 6f 70 79 5b 24 72 65 73 75 6c 74 5d 29 3b 0a 20 ........unset($copy[$result]);..
298c0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 20 3d 20 24 .......$this->prepare_tokens.=.$
298e0 63 6f 70 79 3b 0a 2f 2f 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 copy;.//........unset($this->pre
29900 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 24 72 65 73 75 6c 74 5d 29 3b 0a 0a 20 20 20 20 20 20 20 20 pare_tokens[$result]);..........
29920 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 return.true;.....}......//.}}}..
29940 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 43 6f 6c 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 ...//.{{{.numCols()....../**....
29960 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 69 6e ..*.Get.the.number.of.columns.in
29980 20 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 .a.result.set.......*......*.@pa
299a0 72 61 6d 20 24 72 65 73 75 6c 74 20 4d 79 53 51 4c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 ram.$result.MySQL.result.identif
299c0 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 ier......*......*.@access.public
299e0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e ......*......*.@return.int.the.n
29a00 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 70 65 72 20 72 6f 77 20 69 6e 20 24 72 65 73 umber.of.columns.per.row.in.$res
29a20 75 6c 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 43 6f 6c 73 ult......*/.....function.numCols
29a40 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 ($result).....{.........$cols.=.
29a60 40 6d 79 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 72 65 73 75 6c 74 29 3b 0a 0a 20 20 20 @mysql_num_fields($result);.....
29a80 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 .....if.(!$cols).{.............r
29aa0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a eturn.$this->mysqlRaiseError();.
29ac0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6c 73 3b ........}..........return.$cols;
29ae0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 .....}......//.}}}.....//.{{{.nu
29b00 6d 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 mRows()....../**......*.Get.the.
29b20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 69 6e 20 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a number.of.rows.in.a.result.set..
29b40 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 4d 79 53 .....*......*.@param.$result.MyS
29b60 51 4c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 QL.result.identifier......*.....
29b80 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 .*.@access.public......*......*.
29ba0 40 72 65 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 69 @return.int.the.number.of.rows.i
29bc0 6e 20 24 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e n.$result......*/.....function.n
29be0 75 6d 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 umRows($result).....{.........$r
29c00 6f 77 73 20 3d 20 40 6d 79 73 71 6c 5f 6e 75 6d 5f 72 6f 77 73 28 24 72 65 73 75 6c 74 29 3b 0a ows.=.@mysql_num_rows($result);.
29c20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 ........if.($rows.===.null).{...
29c40 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 ..........return.$this->mysqlRai
29c60 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 seError();.........}.........ret
29c80 75 72 6e 20 24 72 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 urn.$rows;.....}......//.}}}....
29ca0 20 2f 2f 20 7b 7b 7b 20 61 75 74 6f 43 6f 6d 6d 69 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 .//.{{{.autoCommit()....../**...
29cc0 20 20 20 2a 20 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 20 63 6f ...*.Enable/disable.automatic.co
29ce0 6d 6d 69 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 43 mmits......*/.....function.autoC
29d00 6f 6d 6d 69 74 28 24 6f 6e 6f 66 66 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 ommit($onoff.=.false).....{.....
29d20 20 20 20 20 2f 2f 20 58 58 58 20 69 66 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e ....//.XXX.if.$this->transaction
29d40 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 2c 20 77 65 20 73 68 6f 75 6c 64 20 70 72 6f 62 61 62 6c 79 _opcount.>.0,.we.should.probably
29d60 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 73 73 75 65 20 61 20 77 61 72 6e 69 6e 67 20 68 65 72 65 .........//.issue.a.warning.here
29d80 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 20 3d 20 24 6f ..........$this->autocommit.=.$o
29da0 6e 6f 66 66 20 3f 20 74 72 75 65 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 72 65 74 noff.?.true.:.false;.........ret
29dc0 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 urn.DB_OK;.....}......//.}}}....
29de0 20 2f 2f 20 7b 7b 7b 20 63 6f 6d 6d 69 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .//.{{{.commit()....../**......*
29e00 20 43 6f 6d 6d 69 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 72 61 6e 73 61 63 74 69 6f 6e 2e .Commit.the.current.transaction.
29e20 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 69 74 28 29 0a 20 ......*/.....function.commit()..
29e40 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 ...{.........if.($this->transact
29e60 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ion_opcount.>.0).{.............i
29e80 66 20 28 24 74 68 69 73 2d 3e 5f 64 62 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.($this->_db).{................
29ea0 20 69 66 20 28 21 40 6d 79 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 74 68 69 73 2d 3e 5f 64 .if.(!@mysql_select_db($this->_d
29ec0 62 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 b,.$this->connection)).{........
29ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c .............return.$this->mysql
29f00 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 RaiseError(DB_ERROR_NODBSELECTED
29f20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 );.................}............
29f40 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c 5f .}.............$result.=.@mysql_
29f60 71 75 65 72 79 28 27 43 4f 4d 4d 49 54 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f query('COMMIT',.$this->connectio
29f80 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c n);.............$result.=.@mysql
29fa0 5f 71 75 65 72 79 28 27 53 45 54 20 41 55 54 4f 43 4f 4d 4d 49 54 3d 31 27 2c 20 24 74 68 69 73 _query('SET.AUTOCOMMIT=1',.$this
29fc0 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 ->connection);.............$this
29fe0 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 20 ->transaction_opcount.=.0;......
2a000 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .......if.(!$result).{..........
2a020 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 .......return.$this->mysqlRaiseE
2a040 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a rror();.............}.........}.
2a060 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ........return.DB_OK;.....}.....
2a080 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 72 6f 6c 6c 62 61 63 6b 28 29 0a 0a 20 .//.}}}.....//.{{{.rollback()...
2a0a0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 6f 6c 6c 20 62 61 63 6b 20 28 75 6e 64 6f 29 20 74 .../**......*.Roll.back.(undo).t
2a0c0 68 65 20 63 75 72 72 65 6e 74 20 74 72 61 6e 73 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 2f 0a he.current.transaction.......*/.
2a0e0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 ....function.rollback().....{...
2a100 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 ......if.($this->transaction_opc
2a120 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 ount.>.0).{.............if.($thi
2a140 73 2d 3e 5f 64 62 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 s->_db).{.................if.(!@
2a160 6d 79 73 71 6c 5f 73 65 6c 65 63 74 5f 64 62 28 24 74 68 69 73 2d 3e 5f 64 62 2c 20 24 74 68 69 mysql_select_db($this->_db,.$thi
2a180 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s->connection)).{...............
2a1a0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 ......return.$this->mysqlRaiseEr
2a1c0 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 29 3b 0a 20 20 20 20 ror(DB_ERROR_NODBSELECTED);.....
2a1e0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ............}.............}.....
2a200 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c 5f 71 75 65 72 79 28 27 ........$result.=.@mysql_query('
2a220 52 4f 4c 4c 42 41 43 4b 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 ROLLBACK',.$this->connection);..
2a240 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c 5f 71 75 65 72 ...........$result.=.@mysql_quer
2a260 79 28 27 53 45 54 20 41 55 54 4f 43 4f 4d 4d 49 54 3d 31 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e y('SET.AUTOCOMMIT=1',.$this->con
2a280 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 nection);.............$this->tra
2a2a0 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 nsaction_opcount.=.0;...........
2a2c0 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..if.(!$result).{...............
2a2e0 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 ..return.$this->mysqlRaiseError(
2a300 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 );.............}.........}......
2a320 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d ...return.DB_OK;.....}......//.}
2a340 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 0a 20 20 }}.....//.{{{.affectedRows()....
2a360 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 ../**......*.Gets.the.number.of.
2a380 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 64 61 74 61 20 6d 61 6e 69 70 75 rows.affected.by.the.data.manipu
2a3a0 6c 61 74 69 6f 6e 0a 20 20 20 20 20 2a 20 71 75 65 72 79 2e 20 20 46 6f 72 20 6f 74 68 65 72 20 lation......*.query...For.other.
2a3c0 71 75 65 72 69 65 73 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 30 queries,.this.function.returns.0
2a3e0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e 75 6d 62 65 72 20 6f .......*......*.@return.number.o
2a400 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 f.rows.affected.by.the.last.quer
2a420 79 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 66 66 65 63 74 65 64 y......*/......function.affected
2a440 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 4d Rows().....{.........if.(DB::isM
2a460 61 6e 69 70 28 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 anip($this->last_query)).{......
2a480 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c 5f 61 66 66 65 63 74 65 64 .......$result.=.@mysql_affected
2a4a0 5f 72 6f 77 73 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 _rows($this->connection);.......
2a4c0 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d ..}.else.{.............$result.=
2a4e0 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 .0;.........}.........return.$re
2a500 73 75 6c 74 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 sult;......}......//.}}}.....//.
2a520 7b 7b 7b 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 {{{.errorNative()....../**......
2a540 2a 20 47 65 74 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 66 20 74 *.Get.the.native.error.code.of.t
2a560 68 65 20 6c 61 73 74 20 65 72 72 6f 72 20 28 69 66 20 61 6e 79 29 20 74 68 61 74 0a 20 20 20 20 he.last.error.(if.any).that.....
2a580 20 2a 20 6f 63 63 75 72 65 64 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63 .*.occured.on.the.current.connec
2a5a0 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c tion.......*......*.@access.publ
2a5c0 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 6e 61 74 ic......*......*.@return.int.nat
2a5e0 69 76 65 20 4d 79 53 51 4c 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 ive.MySQL.error.code......*/....
2a600 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 20 20 20 20 7b 0a 20 ..function.errorNative().....{..
2a620 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 79 73 71 6c 5f 65 72 72 6e 6f 28 24 74 68 69 73 2d .......return.mysql_errno($this-
2a640 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a >connection);.....}......//.}}}.
2a660 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 49 64 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 ....//.{{{.nextId()....../**....
2a680 20 20 2a 20 47 65 74 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e 20 61 20 73 65 71 75 ..*.Get.the.next.value.in.a.sequ
2a6a0 65 6e 63 65 2e 20 20 57 65 20 65 6d 75 6c 61 74 65 20 73 65 71 75 65 6e 63 65 73 0a 20 20 20 20 ence...We.emulate.sequences.....
2a6c0 20 2a 20 66 6f 72 20 4d 79 53 51 4c 2e 20 20 57 69 6c 6c 20 63 72 65 61 74 65 20 74 68 65 20 73 .*.for.MySQL...Will.create.the.s
2a6e0 65 71 75 65 6e 63 65 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 0a 20 20 equence.if.it.does.not.exist....
2a700 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 ...*......*.@access.public......
2a720 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 65 71 5f 6e 61 6d 65 *......*.@param.string.$seq_name
2a740 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 2a .the.name.of.the.sequence......*
2a760 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 6f 6e 64 65 6d 61 6e 64 20 77 68 ......*.@param.bool.$ondemand.wh
2a780 65 74 68 65 72 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 61 62 ether.to.create.the.sequence.tab
2a7a0 6c 65 20 6f 6e 20 64 65 6d 61 6e 64 0a 20 20 20 20 20 2a 20 28 64 65 66 61 75 6c 74 20 69 73 20 le.on.demand......*.(default.is.
2a7c0 74 72 75 65 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 true)......*......*.@return.mixe
2a7e0 64 20 61 20 73 65 71 75 65 6e 63 65 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 20 44 42 20 65 72 d.a.sequence.integer,.or.a.DB.er
2a800 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 ror......*/.....function.nextId(
2a820 24 73 65 71 5f 6e 61 6d 65 2c 20 24 6f 6e 64 65 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 $seq_name,.$ondemand.=.true)....
2a840 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 .{.........$seqname.=.$this->get
2a860 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 SequenceName($seq_name);........
2a880 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 20 3d 20 30 3b 0a 20 .do.{.............$repeat.=.0;..
2a8a0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 75 73 68 45 72 72 6f 72 48 61 6e 64 6c ...........$this->pushErrorHandl
2a8c0 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 29 3b 0a 20 20 20 20 20 20 20 20 ing(PEAR_ERROR_RETURN);.........
2a8e0 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 55 50 44 41 ....$result.=.$this->query("UPDA
2a900 54 45 20 24 7b 73 65 71 6e 61 6d 65 7d 20 22 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 TE.${seqname}.".................
2a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 53 45 54 20 69 64 3d 4c 41 53 54 ....................'SET.id=LAST
2a940 5f 49 4e 53 45 52 54 5f 49 44 28 69 64 2b 31 29 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 _INSERT_ID(id+1)');.............
2a960 24 74 68 69 73 2d 3e 70 6f 70 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 29 3b 0a 20 20 20 20 20 $this->popErrorHandling();......
2a980 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 75 6c 74 20 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 .......if.($result.==.DB_OK).{..
2a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 2a 20 43 4f 4d 4d 4f 4e 20 43 41 53 45 20 2a .............../**.COMMON.CASE.*
2a9c0 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 6d 79 73 71 6c 5f 69 */.................$id.=.mysql_i
2a9e0 6e 73 65 72 74 5f 69 64 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 nsert_id($this->connection);....
2aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 64 20 21 3d 20 30 29 20 7b 0a 20 20 20 .............if.($id.!=.0).{....
2aa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 69 64 3b 0a 20 20 20 .................return.$id;....
2aa40 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f .............}................./
2aa60 2a 2a 20 45 4d 50 54 59 20 53 45 51 20 54 41 42 4c 45 20 2a 2a 2f 0a 20 20 20 20 20 20 20 20 20 **.EMPTY.SEQ.TABLE.**/..........
2aa80 20 20 20 20 20 20 20 2f 2f 20 53 65 71 75 65 6e 63 65 20 74 61 62 6c 65 20 6d 75 73 74 20 62 65 .......//.Sequence.table.must.be
2aaa0 20 65 6d 70 74 79 20 66 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 2c 20 73 6f 20 66 69 6c 6c 20 .empty.for.some.reason,.so.fill.
2aac0 69 74 20 61 6e 64 20 72 65 74 75 72 6e 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it.and.return.1.................
2aae0 2f 2f 20 4f 62 74 61 69 6e 20 61 20 75 73 65 72 2d 6c 65 76 65 6c 20 6c 6f 63 6b 0a 20 20 20 20 //.Obtain.a.user-level.lock.....
2ab00 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ............$result.=.$this->get
2ab20 4f 6e 65 28 22 53 45 4c 45 43 54 20 47 45 54 5f 4c 4f 43 4b 28 27 24 7b 73 65 71 6e 61 6d 65 7d One("SELECT.GET_LOCK('${seqname}
2ab40 5f 6c 6f 63 6b 27 2c 31 30 29 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 _lock',10)");.................if
2ab60 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 .(DB::isError($result)).{.......
2ab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 ..............return.$this->rais
2aba0 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eError($result);................
2abc0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 75 6c 74 20 3d .}.................if.($result.=
2abe0 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 61 =.0).{.....................//.Fa
2ac00 69 6c 65 64 20 74 6f 20 67 65 74 20 74 68 65 20 6c 6f 63 6b 2c 20 62 61 69 6c 20 77 69 74 68 20 iled.to.get.the.lock,.bail.with.
2ac20 61 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 4c 4f 43 4b 45 44 20 65 72 72 6f 72 0a 20 20 20 20 a.DB_ERROR_NOT_LOCKED.error.....
2ac40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 ................return.$this->my
2ac60 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 4c 4f 43 4b 45 sqlRaiseError(DB_ERROR_NOT_LOCKE
2ac80 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 D);.................}...........
2aca0 20 20 20 20 20 20 20 2f 2f 20 61 64 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 0a .......//.add.the.default.value.
2acc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d ................$result.=.$this-
2ace0 3e 71 75 65 72 79 28 22 52 45 50 4c 41 43 45 20 49 4e 54 4f 20 24 7b 73 65 71 6e 61 6d 65 7d 20 >query("REPLACE.INTO.${seqname}.
2ad00 56 41 4c 55 45 53 20 28 30 29 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 VALUES.(0)");.................if
2ad20 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 .(DB::isError($result)).{.......
2ad40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 ..............return.$this->rais
2ad60 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eError($result);................
2ad80 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6c 65 61 73 65 20 74 .}..................//.Release.t
2ada0 68 65 20 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 he.lock.................$result.
2adc0 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6e 65 28 22 53 45 4c 45 43 54 20 52 45 4c 45 41 53 45 5f =.$this->getOne("SELECT.RELEASE_
2ade0 4c 4f 43 4b 28 27 24 7b 73 65 71 6e 61 6d 65 7d 5f 6c 6f 63 6b 27 29 22 29 3b 0a 20 20 20 20 20 LOCK('${seqname}_lock')");......
2ae00 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 ...........if.(DB::isError($resu
2ae20 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 lt)).{.....................retur
2ae40 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 n.$this->raiseError($result);...
2ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
2ae80 2f 2f 20 57 65 20 6b 6e 6f 77 20 77 68 61 74 20 74 68 65 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 //.We.know.what.the.result.will.
2aea0 62 65 2c 20 73 6f 20 6e 6f 20 6e 65 65 64 20 74 6f 20 74 72 79 20 61 67 61 69 6e 0a 20 20 20 20 be,.so.no.need.to.try.again.....
2aec0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 0a 20 20 20 20 20 20 20 20 20 ............return.1;...........
2aee0 20 20 20 2f 2a 2a 20 4f 4e 44 45 4d 41 4e 44 20 54 41 42 4c 45 20 43 52 45 41 54 49 4f 4e 20 2a .../**.ONDEMAND.TABLE.CREATION.*
2af00 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6f 6e 64 65 6d 61 */.............}.elseif.($ondema
2af20 6e 64 20 26 26 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 26 26 0a 20 20 nd.&&.DB::isError($result).&&...
2af40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 43 6f 64 65 28 29 ..............$result->getCode()
2af60 20 3d 3d 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 29 0a 20 20 20 20 20 20 .==.DB_ERROR_NOSUCHTABLE).......
2af80 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 ......{.................$result.
2afa0 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d =.$this->createSequence($seq_nam
2afc0 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 69 6e 63 65 20 63 72 65 e);.................//.Since.cre
2afe0 61 74 65 53 65 71 75 65 6e 63 65 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 49 44 20 74 ateSequence.initializes.the.ID.t
2b000 6f 20 62 65 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 65 20 64 6f o.be.1,.................//.we.do
2b020 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 72 65 74 72 69 65 76 65 20 74 68 65 20 49 44 20 61 67 61 .not.need.to.retrieve.the.ID.aga
2b040 69 6e 20 28 6f 72 20 77 65 20 77 69 6c 6c 20 67 65 74 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 in.(or.we.will.get.2)...........
2b060 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 ......if.(DB::isError($result)).
2b080 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 {.....................return.$th
2b0a0 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 is->raiseError($result);........
2b0c0 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........}.else.{...............
2b0e0 20 20 20 20 20 20 2f 2f 20 46 69 72 73 74 20 49 44 20 6f 66 20 61 20 6e 65 77 6c 79 20 63 72 65 ......//.First.ID.of.a.newly.cre
2b100 61 74 65 64 20 73 65 71 75 65 6e 63 65 20 69 73 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ated.sequence.is.1..............
2b120 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......return.1;................
2b140 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 2a 20 42 41 43 4b 57 41 52 44 53 20 43 4f .}............../**.BACKWARDS.CO
2b160 4d 50 41 54 20 2a 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 44 MPAT.**/.............}.elseif.(D
2b180 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 B::isError($result).&&..........
2b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 43 6f 64 65 28 29 20 .............$result->getCode().
2b1c0 3d 3d 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 29 0a 20 20 20 20 ==.DB_ERROR_ALREADY_EXISTS).....
2b1e0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 65 65 ........{.................//.see
2b200 20 5f 42 43 73 65 71 75 65 6e 63 65 28 29 20 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 ._BCsequence().comment..........
2b220 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 5f 42 43 73 65 71 75 65 .......$result.=.$this->_BCseque
2b240 6e 63 65 28 24 73 65 71 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 nce($seqname);.................i
2b260 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 f.(DB::isError($result)).{......
2b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 ...............return.$this->rai
2b2a0 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 seError($result);...............
2b2c0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 20 3d 20 31 3b ..}.................$repeat.=.1;
2b2e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 .............}.........}.while.(
2b300 24 72 65 70 65 61 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d $repeat);..........return.$this-
2b320 3e 72 61 69 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 >raiseError($result);.....}.....
2b340 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 .//.}}}.....//.{{{.createSequenc
2b360 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 e()......function.createSequence
2b380 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 ($seq_name).....{.........$seqna
2b3a0 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 71 me.=.$this->getSequenceName($seq
2b3c0 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 71 75 _name);.........$res.=.$this->qu
2b3e0 65 72 79 28 22 43 52 45 41 54 45 20 54 41 42 4c 45 20 24 7b 73 65 71 6e 61 6d 65 7d 20 22 2e 0a ery("CREATE.TABLE.${seqname}."..
2b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 69 64 ............................'(id
2b420 20 49 4e 54 45 47 45 52 20 55 4e 53 49 47 4e 45 44 20 41 55 54 4f 5f 49 4e 43 52 45 4d 45 4e 54 .INTEGER.UNSIGNED.AUTO_INCREMENT
2b440 20 4e 4f 54 20 4e 55 4c 4c 2c 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .NOT.NULL,'.....................
2b460 20 20 20 20 20 20 20 20 20 27 20 50 52 49 4d 41 52 59 20 4b 45 59 28 69 64 29 29 27 29 3b 0a 20 .........'.PRIMARY.KEY(id))');..
2b480 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 29 29 20 7b 0a .......if.(DB::isError($res)).{.
2b4a0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 ............return.$res;........
2b4c0 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 73 65 72 74 20 79 69 65 6c 64 73 20 76 61 6c 75 .}.........//.insert.yields.valu
2b4e0 65 20 31 2c 20 6e 65 78 74 49 64 20 63 61 6c 6c 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 49 e.1,.nextId.call.will.generate.I
2b500 44 20 32 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 D.2.........return.$this->query(
2b520 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 24 7b 73 65 71 6e 61 6d 65 7d 20 56 41 4c 55 45 53 28 30 "INSERT.INTO.${seqname}.VALUES(0
2b540 29 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b )");.....}......//.}}}.....//.{{
2b560 7b 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 {.dropSequence()......function.d
2b580 72 6f 70 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 ropSequence($seq_name).....{....
2b5a0 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e .....$seqname.=.$this->getSequen
2b5c0 63 65 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 ceName($seq_name);.........retur
2b5e0 6e 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 44 52 4f 50 20 54 41 42 4c 45 20 24 7b 73 65 71 n.$this->query("DROP.TABLE.${seq
2b600 6e 61 6d 65 7d 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 20 20 20 20 name}");.....}......//.}}}......
2b620 2f 2a 2a 0a 20 20 20 20 2a 20 42 61 63 77 61 72 64 73 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 /**.....*.Bacwards.Compatibility
2b640 20 77 69 74 68 20 6f 6c 64 20 73 65 71 75 65 6e 63 65 20 65 6d 75 6c 61 74 69 6f 6e 20 69 6d 70 .with.old.sequence.emulation.imp
2b660 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 2a 20 28 63 6c 65 61 6e 20 75 70 20 74 68 65 20 lementation.....*.(clean.up.the.
2b680 64 75 70 65 73 29 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 65 71 6e dupes).....*.@param.string.$seqn
2b6a0 61 6d 65 20 54 68 65 20 73 65 71 75 65 6e 63 65 20 6e 61 6d 65 20 74 6f 20 63 6c 65 61 6e 20 75 ame.The.sequence.name.to.clean.u
2b6c0 70 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 45 72 72 6f 72 20 6f p.....*.@return.mixed.DB_Error.o
2b6e0 72 20 74 72 75 65 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 5f 42 43 73 65 r.true.....*/.....function._BCse
2b700 71 75 65 6e 63 65 28 24 73 65 71 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f quence($seqname).....{........./
2b720 2f 20 4f 62 74 61 69 6e 20 61 20 75 73 65 72 2d 6c 65 76 65 6c 20 6c 6f 63 6b 2e 2e 2e 20 74 68 /.Obtain.a.user-level.lock....th
2b740 69 73 20 77 69 6c 6c 20 72 65 6c 65 61 73 65 20 61 6e 79 20 70 72 65 76 69 6f 75 73 0a 20 20 20 is.will.release.any.previous....
2b760 20 20 20 20 20 2f 2f 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6c 6f 63 6b 73 2c 20 62 75 74 20 75 .....//.application.locks,.but.u
2b780 6e 6c 69 6b 65 20 4c 4f 43 4b 20 54 41 42 4c 45 53 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 61 nlike.LOCK.TABLES,.it.does.not.a
2b7a0 62 6f 72 74 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 72 61 6e bort.........//.the.current.tran
2b7c0 73 61 63 74 69 6f 6e 20 61 6e 64 20 69 73 20 6d 75 63 68 20 6c 65 73 73 20 66 72 65 71 75 65 6e saction.and.is.much.less.frequen
2b7e0 74 6c 79 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 tly.used..........$result.=.$thi
2b800 73 2d 3e 67 65 74 4f 6e 65 28 22 53 45 4c 45 43 54 20 47 45 54 5f 4c 4f 43 4b 28 27 24 7b 73 65 s->getOne("SELECT.GET_LOCK('${se
2b820 71 6e 61 6d 65 7d 5f 6c 6f 63 6b 27 2c 31 30 29 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 qname}_lock',10)");.........if.(
2b840 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 DB::isError($result)).{.........
2b860 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ....return.$result;.........}...
2b880 20 20 20 20 20 20 69 66 20 28 24 72 65 73 75 6c 74 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 ......if.($result.==.0).{.......
2b8a0 20 20 20 20 20 20 2f 2f 20 46 61 69 6c 65 64 20 74 6f 20 67 65 74 20 74 68 65 20 6c 6f 63 6b 2c ......//.Failed.to.get.the.lock,
2b8c0 20 63 61 6e 27 74 20 64 6f 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 2c 20 62 61 69 6c 0a 20 .can't.do.the.conversion,.bail..
2b8e0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 69 74 68 20 61 20 44 42 5f 45 52 52 4f 52 5f 4e 4f ...........//.with.a.DB_ERROR_NO
2b900 54 5f 4c 4f 43 4b 45 44 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 T_LOCKED.error.............retur
2b920 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f n.$this->mysqlRaiseError(DB_ERRO
2b940 52 5f 4e 4f 54 5f 4c 4f 43 4b 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 R_NOT_LOCKED);.........}........
2b960 20 20 24 68 69 67 68 65 73 74 5f 69 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6e 65 28 22 53 ..$highest_id.=.$this->getOne("S
2b980 45 4c 45 43 54 20 4d 41 58 28 69 64 29 20 46 52 4f 4d 20 24 7b 73 65 71 6e 61 6d 65 7d 22 29 3b ELECT.MAX(id).FROM.${seqname}");
2b9a0 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 68 69 67 68 65 73 .........if.(DB::isError($highes
2b9c0 74 5f 69 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 68 69 67 t_id)).{.............return.$hig
2b9e0 68 65 73 74 5f 69 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 hest_id;.........}.........//.Th
2ba00 69 73 20 73 68 6f 75 6c 64 20 6b 69 6c 6c 20 61 6c 6c 20 72 6f 77 73 20 65 78 63 65 70 74 20 74 is.should.kill.all.rows.except.t
2ba20 68 65 20 68 69 67 68 65 73 74 0a 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 73 68 6f 75 6c 64 20 he.highest.........//.We.should.
2ba40 70 72 6f 62 61 62 6c 79 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 69 66 20 24 68 69 67 68 65 73 probably.do.something.if.$highes
2ba60 74 5f 69 64 20 69 73 6e 27 74 0a 20 20 20 20 20 20 20 20 2f 2f 20 6e 75 6d 65 72 69 63 2c 20 62 t_id.isn't.........//.numeric,.b
2ba80 75 74 20 49 27 6d 20 61 74 20 61 20 6c 6f 73 73 20 61 73 20 68 6f 77 20 74 6f 20 68 61 6e 64 6c ut.I'm.at.a.loss.as.how.to.handl
2baa0 65 20 74 68 61 74 2e 2e 2e 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 e.that............$result.=.$thi
2bac0 73 2d 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 24 7b 73 65 71 6e 61 6d 65 7d s->query("DELETE.FROM.${seqname}
2bae0 20 57 48 45 52 45 20 69 64 20 3c 3e 20 24 68 69 67 68 65 73 74 5f 69 64 22 29 3b 0a 20 20 20 20 .WHERE.id.<>.$highest_id");.....
2bb00 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a ....if.(DB::isError($result)).{.
2bb20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 ............return.$result;.....
2bb40 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 61 6e 6f 74 68 65 72 20 74 68 72 ....}..........//.If.another.thr
2bb60 65 61 64 20 68 61 73 20 62 65 65 6e 20 77 61 69 74 69 6e 67 20 66 6f 72 20 74 68 69 73 20 6c 6f ead.has.been.waiting.for.this.lo
2bb80 63 6b 2c 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 74 20 77 69 6c 6c 20 67 6f 20 74 68 72 75 20 74 ck,.........//.it.will.go.thru.t
2bba0 68 65 20 61 62 6f 76 65 20 70 72 6f 63 65 64 75 72 65 2c 20 62 75 74 20 77 69 6c 6c 20 68 61 76 he.above.procedure,.but.will.hav
2bbc0 65 20 6e 6f 0a 20 20 20 20 20 20 20 20 2f 2f 20 72 65 61 6c 20 65 66 66 65 63 74 0a 20 20 20 20 e.no.........//.real.effect.....
2bbe0 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6e 65 28 22 53 45 4c ....$result.=.$this->getOne("SEL
2bc00 45 43 54 20 52 45 4c 45 41 53 45 5f 4c 4f 43 4b 28 27 24 7b 73 65 71 6e 61 6d 65 7d 5f 6c 6f 63 ECT.RELEASE_LOCK('${seqname}_loc
2bc20 6b 27 29 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 k')");.........if.(DB::isError($
2bc40 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 result)).{.............return.$r
2bc60 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 esult;.........}.........return.
2bc80 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 71 75 6f 74 65 28 29 0a true;.....}......//.{{{.quote().
2bca0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 51 75 6f 74 65 20 74 68 65 20 67 69 76 65 6e 20 73 74 ..../**.....*.Quote.the.given.st
2bcc0 72 69 6e 67 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 75 73 65 64 20 77 69 ring.so.it.can.be.safely.used.wi
2bce0 74 68 69 6e 20 73 74 72 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 73 0a 20 20 20 20 2a 20 69 6e 20 thin.string.delimiters.....*.in.
2bd00 61 20 71 75 65 72 79 2e 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 73 74 72 69 6e 67 20 6d 69 a.query......*.@param.$string.mi
2bd20 78 65 64 20 44 61 74 61 20 74 6f 20 62 65 20 71 75 6f 74 65 64 0a 20 20 20 20 2a 20 40 72 65 74 xed.Data.to.be.quoted.....*.@ret
2bd40 75 72 6e 20 6d 69 78 65 64 20 22 4e 55 4c 4c 22 20 73 74 72 69 6e 67 2c 20 71 75 6f 74 65 64 20 urn.mixed."NULL".string,.quoted.
2bd60 73 74 72 69 6e 67 20 6f 72 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 0a 20 20 20 20 2a 2f 0a 20 string.or.original.data.....*/..
2bd80 20 20 20 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 28 24 73 74 72 20 3d 20 6e 75 6c 6c 29 0a 20 ...function.quote($str.=.null)..
2bda0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 ...{.........switch.(strtolower(
2bdc0 67 65 74 74 79 70 65 28 24 73 74 72 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 gettype($str))).{.............ca
2bde0 73 65 20 27 6e 75 6c 6c 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 se.'null':.................retur
2be00 6e 20 27 4e 55 4c 4c 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 69 6e 74 65 n.'NULL';.............case.'inte
2be20 67 65 72 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 ger':.................return.$st
2be40 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 74 72 69 6e 67 27 3a 0a 20 20 r;.............case.'string':...
2be60 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........default:..............
2be80 20 20 20 72 65 74 75 72 6e 20 22 27 22 2e 6d 79 73 71 6c 5f 65 73 63 61 70 65 5f 73 74 72 69 6e ...return."'".mysql_escape_strin
2bea0 67 28 24 73 74 72 29 2e 22 27 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 g($str)."'";.........}.....}....
2bec0 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6d 6f 64 69 66 79 51 75 65 72 79 28 29 .//.}}}.....//.{{{.modifyQuery()
2bee0 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 ......function.modifyQuery($quer
2bf00 79 2c 20 24 73 75 62 6a 65 63 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 y,.$subject.=.null).....{.......
2bf20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 6f 70 74 69 6d 69 7a 65 27 5d ..if.($this->options['optimize']
2bf40 20 3d 3d 20 27 70 6f 72 74 61 62 69 6c 69 74 79 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .==.'portability').{............
2bf60 20 2f 2f 20 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 74 61 62 6c 65 22 20 67 69 76 65 73 20 30 20 .//."DELETE.FROM.table".gives.0.
2bf80 61 66 66 65 63 74 65 64 20 72 6f 77 73 20 69 6e 20 4d 79 53 51 4c 2e 0a 20 20 20 20 20 20 20 20 affected.rows.in.MySQL..........
2bfa0 20 20 20 20 2f 2f 20 54 68 69 73 20 6c 69 74 74 6c 65 20 68 61 63 6b 20 6c 65 74 73 20 79 6f 75 ....//.This.little.hack.lets.you
2bfc0 20 6b 6e 6f 77 20 68 6f 77 20 6d 61 6e 79 20 72 6f 77 73 20 77 65 72 65 20 64 65 6c 65 74 65 64 .know.how.many.rows.were.deleted
2bfe0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e ..............if.(preg_match('/^
2c000 5c 73 2a 44 45 4c 45 54 45 5c 73 2b 46 52 4f 4d 5c 73 2b 28 5c 53 2b 29 5c 73 2a 24 2f 69 27 2c \s*DELETE\s+FROM\s+(\S+)\s*$/i',
2c020 20 24 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 71 75 65 .$query)).{.................$que
2c040 72 79 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 5c 73 2a 44 45 4c 45 54 45 5c 73 ry.=.preg_replace('/^\s*DELETE\s
2c060 2b 46 52 4f 4d 5c 73 2b 28 5c 53 2b 29 5c 73 2a 24 2f 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 +FROM\s+(\S+)\s*$/',............
2c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 44 45 4c 45 ...........................'DELE
2c0a0 54 45 20 46 52 4f 4d 20 5c 31 20 57 48 45 52 45 20 31 3d 31 27 2c 20 24 71 75 65 72 79 29 3b 0a TE.FROM.\1.WHERE.1=1',.$query);.
2c0c0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ............}.........}.........
2c0e0 72 65 74 75 72 6e 20 24 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d return.$query;.....}......//.}}}
2c100 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 29 0a 0a .....//.{{{.modifyLimitQuery()..
2c120 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 24 71 ....function.modifyLimitQuery($q
2c140 75 65 72 79 2c 20 24 66 72 6f 6d 2c 20 24 63 6f 75 6e 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 uery,.$from,.$count).....{......
2c160 20 20 20 72 65 74 75 72 6e 20 24 71 75 65 72 79 20 2e 20 22 20 4c 49 4d 49 54 20 24 66 72 6f 6d ...return.$query...".LIMIT.$from
2c180 2c 20 24 63 6f 75 6e 74 22 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 ,.$count";.....}......//.}}}....
2c1a0 20 2f 2f 20 7b 7b 7b 20 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 0a 0a 20 20 20 20 66 .//.{{{.mysqlRaiseError()......f
2c1c0 75 6e 63 74 69 6f 6e 20 6d 79 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 20 3d unction.mysqlRaiseError($errno.=
2c1e0 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6e 6f 20 .null).....{.........if.($errno.
2c200 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6e 6f 20 3d ===.null).{.............$errno.=
2c220 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 6d 79 73 71 6c 5f 65 72 72 6e 6f 28 24 74 .$this->errorCode(mysql_errno($t
2c240 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 his->connection));.........}....
2c260 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 65 .....return.$this->raiseError($e
2c280 72 72 6e 6f 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 rrno,.null,.null,.null,.........
2c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 6d 79 73 71 6c 5f .........................@mysql_
2c2c0 65 72 72 6e 6f 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 2e 20 22 20 2a 2a 20 errno($this->connection)...".**.
2c2e0 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "...............................
2c300 20 20 20 20 20 40 6d 79 73 71 6c 5f 65 72 72 6f 72 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 .....@mysql_error($this->connect
2c320 69 6f 6e 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 ion));.....}......//.}}}.....//.
2c340 7b 7b 7b 20 74 61 62 6c 65 49 6e 66 6f 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 {{{.tableInfo()......function.ta
2c360 62 6c 65 49 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 29 20 7b bleInfo($result,.$mode.=.null).{
2c380 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 69 64 .........$count.=.0;.........$id
2c3a0 20 20 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 20 20 3d 20 61 72 72 61 79 28 ....=.0;.........$res...=.array(
2c3c0 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 64 65 70 65 6e 64 );........../*..........*.depend
2c3e0 69 6e 67 20 6f 6e 20 24 6d 6f 64 65 2c 20 6d 65 74 61 64 61 74 61 20 72 65 74 75 72 6e 73 20 74 ing.on.$mode,.metadata.returns.t
2c400 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 2a 0a he.following.values:..........*.
2c420 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 66 61 6c 73 65 20 28 64 65 66 61 .........*.-.mode.is.false.(defa
2c440 75 6c 74 29 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 24 72 65 73 75 6c 74 5b 5d 3a 0a 20 20 20 20 ult):..........*.$result[]:.....
2c460 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 6d .....*...[0]["table"]..table.nam
2c480 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 69 65 e..........*...[0]["name"]...fie
2c4a0 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 5d ld.name..........*...[0]["type"]
2c4c0 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 ...field.type..........*...[0]["
2c4e0 6c 65 6e 22 5d 20 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 2a len"]....field.length..........*
2c500 20 20 20 5b 30 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 73 0a 20 20 20 ...[0]["flags"]..field.flags....
2c520 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f ......*..........*.-.mode.is.DB_
2c540 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 20 2a 20 24 72 65 73 75 TABLEINFO_ORDER..........*.$resu
2c560 6c 74 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6e 75 6d 5f 66 69 65 6c 64 73 22 lt[]:..........*...["num_fields"
2c580 5d 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 74 61 64 61 74 61 20 72 65 63 6f 72 64 73 0a 20 20 20 ].number.of.metadata.records....
2c5a0 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 ......*...[0]["table"]..table.na
2c5c0 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 69 me..........*...[0]["name"]...fi
2c5e0 65 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 eld.name..........*...[0]["type"
2c600 5d 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b ]...field.type..........*...[0][
2c620 22 6c 65 6e 22 5d 20 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 "len"]....field.length..........
2c640 2a 20 20 20 5b 30 5d 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 73 0a 20 20 *...[0]["flags"]..field.flags...
2c660 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 22 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d .......*...["order"][field.name]
2c680 20 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 ..index.of.field.named."field.na
2c6a0 6d 65 22 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 68 65 20 6c 61 73 74 20 6f 6e 65 20 69 73 me"..........*...The.last.one.is
2c6c0 20 75 73 65 64 2c 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 20 66 69 65 6c 64 20 6e 61 6d 65 2c .used,.if.you.have.a.field.name,
2c6e0 20 62 75 74 20 6e 6f 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 65 73 74 .but.no.index...........*...Test
2c700 3a 20 20 69 66 20 28 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 6d 65 74 61 27 5d 5b 27 6d 79 :..if.(isset($result['meta']['my
2c720 66 69 65 6c 64 27 5d 29 29 20 7b 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 field'])).{..............*......
2c740 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 ....*.-.mode.is.DB_TABLEINFO_ORD
2c760 45 52 54 41 42 4c 45 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 ERTABLE..........*....the.same.a
2c780 73 20 61 62 6f 76 65 2e 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 20 20 20 20 20 20 s.above..but.additionally.......
2c7a0 20 20 20 2a 20 20 20 5b 22 6f 72 64 65 72 74 61 62 6c 65 22 5d 5b 74 61 62 6c 65 20 6e 61 6d 65 ...*...["ordertable"][table.name
2c7c0 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 0a 20 20 20 ][field.name].index.of.field....
2c7e0 20 20 20 20 20 20 2a 20 20 20 20 20 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 6d 65 22 0a ......*......named."field.name".
2c800 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 68 69 73 20 .........*..........*......this.
2c820 69 73 2c 20 62 65 63 61 75 73 65 20 69 66 20 79 6f 75 20 68 61 76 65 20 66 69 65 6c 64 73 20 66 is,.because.if.you.have.fields.f
2c840 72 6f 6d 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 61 rom.different..........*......ta
2c860 62 6c 65 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 2a 20 bles.with.the.same.field.name.*.
2c880 74 68 65 79 20 6f 76 65 72 72 69 64 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 they.override.each..........*...
2c8a0 20 20 20 6f 74 68 65 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 ...other.with.DB_TABLEINFO_ORDER
2c8c0 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 79 6f 75 20 ..........*..........*......you.
2c8e0 63 61 6e 20 63 6f 6d 62 69 6e 65 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 61 can.combine.DB_TABLEINFO_ORDER.a
2c900 6e 64 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f nd..........*......DB_TABLEINFO_
2c920 4f 52 44 45 52 54 41 42 4c 45 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 ORDERTABLE.with.DB_TABLEINFO_ORD
2c940 45 52 20 7c 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 ER.|..........*......DB_TABLEINF
2c960 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 2a 20 6f 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 O_ORDERTABLE.*.or.with.DB_TABLEI
2c980 4e 46 4f 5f 46 55 4c 4c 0a 20 20 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 20 20 20 20 2f 2f NFO_FULL..........*/..........//
2c9a0 20 69 66 20 24 72 65 73 75 6c 74 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 74 68 65 6e 20 77 65 .if.$result.is.a.string,.then.we
2c9c0 20 77 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 0a 20 20 20 20 20 20 .want.information.about.a.......
2c9e0 20 20 2f 2f 20 74 61 62 6c 65 20 77 69 74 68 6f 75 74 20 61 20 72 65 73 75 6c 74 73 65 74 0a 20 ..//.table.without.a.resultset..
2ca00 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 7b .......if.(is_string($result)).{
2ca20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 40 6d 79 73 71 6c 5f 6c 69 73 74 5f 66 .............$id.=.@mysql_list_f
2ca40 69 65 6c 64 73 28 24 74 68 69 73 2d 3e 64 73 6e 5b 27 64 61 74 61 62 61 73 65 27 5d 2c 0a 20 20 ields($this->dsn['database'],...
2ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2ca80 20 20 20 24 72 65 73 75 6c 74 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a ...$result,.$this->connection);.
2caa0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 29 20 7b 0a 20 20 ............if.(empty($id)).{...
2cac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 ..............return.$this->mysq
2cae0 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 lRaiseError();.............}....
2cb00 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 65 6c 73 65 20 77 65 20 77 61 6e 74 20 69 6e .....}.else.{.//.else.we.want.in
2cb20 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 72 65 73 75 6c 74 73 65 74 0a 20 20 20 20 formation.about.a.resultset.....
2cb40 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 ........$id.=.$result;..........
2cb60 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ...if.(empty($id)).{............
2cb80 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 73 71 6c 52 61 69 73 65 45 72 72 .....return.$this->mysqlRaiseErr
2cba0 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 or();.............}.........}...
2cbc0 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 40 6d 79 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 .......$count.=.@mysql_num_field
2cbe0 73 28 24 69 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 6d 61 64 65 20 74 68 69 73 20 49 46 s($id);..........//.made.this.IF
2cc00 20 64 75 65 20 74 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 28 6f 6e 65 20 69 66 20 69 73 20 66 .due.to.performance.(one.if.is.f
2cc20 61 73 74 65 72 20 74 68 61 6e 20 24 63 6f 75 6e 74 20 69 66 27 73 29 0a 20 20 20 20 20 20 20 20 aster.than.$count.if's).........
2cc40 69 66 20 28 65 6d 70 74 79 28 24 6d 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 if.(empty($mode)).{.............
2cc60 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 for.($i=0;.$i<$count;.$i++).{...
2cc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 20 ..............$res[$i]['table'].
2cca0 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 74 61 62 6c 65 20 28 24 69 64 2c 20 24 69 29 3b 0a =.@mysql_field_table.($id,.$i);.
2ccc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d ................$res[$i]['name']
2cce0 20 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 6e 61 6d 65 20 20 28 24 69 64 2c 20 24 69 29 ..=.@mysql_field_name..($id,.$i)
2cd00 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 79 70 65 ;.................$res[$i]['type
2cd20 27 5d 20 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 74 79 70 65 20 20 28 24 69 64 2c 20 24 ']..=.@mysql_field_type..($id,.$
2cd40 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6c 65 i);.................$res[$i]['le
2cd60 6e 27 5d 20 20 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 6c 65 6e 20 20 20 28 24 69 64 2c n']...=.@mysql_field_len...($id,
2cd80 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 .$i);.................$res[$i]['
2cda0 66 6c 61 67 73 27 5d 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 66 6c 61 67 73 20 28 24 69 flags'].=.@mysql_field_flags.($i
2cdc0 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 d,.$i);.............}.........}.
2cde0 65 6c 73 65 20 7b 20 2f 2f 20 66 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b else.{.//.full.............$res[
2ce00 27 6e 75 6d 5f 66 69 65 6c 64 73 27 5d 3d 20 24 63 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 'num_fields']=.$count;..........
2ce20 20 20 20 20 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 ....for.($i=0;.$i<$count;.$i++).
2ce40 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c {.................$res[$i]['tabl
2ce60 65 27 5d 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 74 61 62 6c 65 20 28 24 69 64 2c 20 24 e'].=.@mysql_field_table.($id,.$
2ce80 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6e 61 i);.................$res[$i]['na
2cea0 6d 65 27 5d 20 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 6e 61 6d 65 20 20 28 24 69 64 2c me']..=.@mysql_field_name..($id,
2cec0 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 .$i);.................$res[$i]['
2cee0 74 79 70 65 27 5d 20 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 74 79 70 65 20 20 28 24 69 type']..=.@mysql_field_type..($i
2cf00 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d d,.$i);.................$res[$i]
2cf20 5b 27 6c 65 6e 27 5d 20 20 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 6c 65 6e 20 20 20 28 ['len']...=.@mysql_field_len...(
2cf40 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 $id,.$i);.................$res[$
2cf60 69 5d 5b 27 66 6c 61 67 73 27 5d 20 3d 20 40 6d 79 73 71 6c 5f 66 69 65 6c 64 5f 66 6c 61 67 73 i]['flags'].=.@mysql_field_flags
2cf80 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 .($id,.$i);.................if.(
2cfa0 24 6d 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 20 7b 0a 20 20 $mode.&.DB_TABLEINFO_ORDER).{...
2cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 27 5d 5b ..................$res['order'][
2cfe0 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 20 $res[$i]['name']].=.$i;.........
2d000 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d ........}.................if.($m
2d020 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 29 20 7b ode.&.DB_TABLEINFO_ORDERTABLE).{
2d040 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 .....................$res['order
2d060 74 61 62 6c 65 27 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 5d 5b 24 72 65 73 5b table'][$res[$i]['table']][$res[
2d080 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $i]['name']].=.$i;..............
2d0a0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ...}.............}.........}....
2d0c0 20 20 20 20 20 20 2f 2f 20 66 72 65 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 6e 6c 79 20 69 66 ......//.free.the.result.only.if
2d0e0 20 77 65 20 77 65 72 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 74 61 62 6c 65 0a 20 20 20 20 20 .we.were.called.on.a.table......
2d100 20 20 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 ...if.(is_string($result)).{....
2d120 20 20 20 20 20 20 20 20 20 40 6d 79 73 71 6c 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 69 64 29 .........@mysql_free_result($id)
2d140 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b ;.........}.........return.$res;
2d160 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 .....}......//.}}}.....//.{{{.ge
2d180 74 54 61 62 6c 65 73 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 tTablesQuery()....../**.....*.Re
2d1a0 74 75 72 6e 73 20 74 68 65 20 71 75 65 72 79 20 6e 65 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f turns.the.query.needed.to.get.so
2d1c0 6d 65 20 62 61 63 6b 65 6e 64 20 69 6e 66 6f 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 me.backend.info.....*.@param.str
2d1e0 69 6e 67 20 24 74 79 70 65 20 57 68 61 74 20 6b 69 6e 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 ing.$type.What.kind.of.info.you.
2d200 77 61 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 want.to.retrieve.....*.@return.s
2d220 74 72 69 6e 67 20 54 68 65 20 53 51 4c 20 71 75 65 72 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a tring.The.SQL.query.string.....*
2d240 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 /.....function.getSpecialQuery($
2d260 74 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 type).....{.........switch.($typ
2d280 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a e).{.............case.'tables':.
2d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 53 48 4f 57 20 54 41 42 ................$sql.=."SHOW.TAB
2d2c0 4c 45 53 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 LES";.................break;....
2d2e0 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 76 69 65 77 73 27 3a 0a 20 20 20 20 20 20 20 20 20 .........case.'views':..........
2d300 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 .......return.DB_ERROR_NOT_CAPAB
2d320 4c 45 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 75 73 65 72 73 27 3a 0a 20 20 LE;.............case.'users':...
2d340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 73 65 6c 65 63 74 20 64 69 73 ..............$sql.=."select.dis
2d360 74 69 6e 63 74 20 55 73 65 72 20 66 72 6f 6d 20 75 73 65 72 22 3b 0a 20 20 20 20 20 20 20 20 20 tinct.User.from.user";..........
2d380 20 20 20 20 20 20 20 69 66 28 24 74 68 69 73 2d 3e 64 73 6e 5b 27 64 61 74 61 62 61 73 65 27 5d .......if($this->dsn['database']
2d3a0 20 21 3d 20 27 6d 79 73 71 6c 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .!=.'mysql').{..................
2d3c0 20 20 20 24 64 73 6e 20 3d 20 24 74 68 69 73 2d 3e 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 ...$dsn.=.$this->dsn;...........
2d3e0 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 5b 27 64 61 74 61 62 61 73 65 27 5d 20 3d 20 27 6d 79 ..........$dsn['database'].=.'my
2d400 73 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 sql';.....................if.(DB
2d420 3a 3a 69 73 45 72 72 6f 72 28 24 64 62 20 3d 20 44 42 3a 3a 63 6f 6e 6e 65 63 74 28 24 64 73 6e ::isError($db.=.DB::connect($dsn
2d440 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ))).{.........................re
2d460 74 75 72 6e 20 24 64 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a turn.$db;.....................}.
2d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 24 64 62 2d 3e ....................$sql.=.$db->
2d4a0 67 65 74 43 6f 6c 28 24 73 71 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 getCol($sql);...................
2d4c0 20 20 24 64 62 2d 3e 64 69 73 63 6f 6e 6e 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..$db->disconnect();............
2d4e0 20 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 20 46 69 78 6d 65 20 74 68 65 20 6d 79 73 71 6c 20 .........//.XXX.Fixme.the.mysql.
2d500 64 72 69 76 65 72 20 73 68 6f 75 6c 64 20 74 61 6b 65 20 63 61 72 65 20 6f 66 20 74 68 69 73 0a driver.should.take.care.of.this.
2d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6d 79 73 71 6c 5f ....................if.(!@mysql_
2d540 73 65 6c 65 63 74 5f 64 62 28 24 74 68 69 73 2d 3e 64 73 6e 5b 27 64 61 74 61 62 61 73 65 27 5d select_db($this->dsn['database']
2d560 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 ,.$this->connection)).{.........
2d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 79 ................return.$this->my
2d5a0 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 sqlRaiseError(DB_ERROR_NODBSELEC
2d5c0 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 TED);.....................}.....
2d5e0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ............}.................re
2d600 74 75 72 6e 20 24 73 71 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b turn.$sql;.................break
2d620 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 61 74 61 62 61 73 65 73 27 3a 0a ;.............case.'databases':.
2d640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 53 48 4f 57 20 44 41 54 ................$sql.=."SHOW.DAT
2d660 41 42 41 53 45 53 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a ABASES";.................break;.
2d680 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 ............default:............
2d6a0 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .....return.null;.........}.....
2d6c0 20 20 20 20 72 65 74 75 72 6e 20 24 73 71 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d ....return.$sql;.....}......//.}
2d6e0 7d 7d 0a 0a 20 20 20 20 2f 2f 20 54 4f 44 4f 2f 77 69 73 68 6c 69 73 74 3a 0a 20 20 20 20 2f 2f }}......//.TODO/wishlist:.....//
2d700 20 6c 6f 6e 67 52 65 61 64 6c 65 6e 0a 20 20 20 20 2f 2f 20 62 69 6e 6d 6f 64 65 0a 7d 0a 0a 3f .longReadlen.....//.binmode.}..?
2d720 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >...............................
2d740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d800 44 42 2d 31 2e 33 2f 44 42 2f 6f 63 69 38 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/oci8.php..............
2d820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
2d880 20 20 36 30 35 30 33 20 20 37 35 31 30 33 35 33 34 36 34 20 20 20 36 35 34 35 20 00 00 00 00 00 ..60503..7510353464...6545......
2d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2da00 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
2da20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2da40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
2da60 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
2da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
2daa0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
2dac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2dae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
2db00 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
2db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
2db40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2db60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2db80 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
2dba0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
2dbc0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
2dbe0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
2dc00 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
2dc20 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
2dc40 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
2dc60 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
2dc80 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
2dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
2dcc0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
2dce0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
2dd00 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
2dd20 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
2dd40 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
2dd60 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
2dd80 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
2dda0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2ddc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2dde0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 4a 61 6d 65 73 20 4c 2e 20 50 69 6e 65 20 ---+.//.|.Author:.James.L..Pine.
2de00 3c 6a 6c 70 40 76 61 6c 69 6e 75 78 2e 63 6f 6d 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <jlp@valinux.com>...............
2de20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
2de40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2de60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
2de80 2f 2f 20 24 49 64 3a 20 6f 63 69 38 2e 70 68 70 2c 76 20 31 2e 34 20 32 30 30 32 2f 30 37 2f 30 //.$Id:.oci8.php,v.1.4.2002/07/0
2dea0 32 20 31 36 3a 33 39 3a 31 36 20 6d 6a 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 62 61 2.16:39:16.mj.Exp.$.//.//.Databa
2dec0 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 20 64 se.independent.query.interface.d
2dee0 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 4f 72 61 63 6c 65 20 38 0a 2f 2f 20 efinition.for.PHP's.Oracle.8.//.
2df00 63 61 6c 6c 2d 69 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 2f 2f call-interface.extension..//..//
2df20 0a 2f 2f 20 62 65 20 61 77 61 72 65 2e 2e 2e 20 20 4f 43 49 45 72 72 6f 72 28 29 20 6f 6e 6c 79 .//.be.aware.....OCIError().only
2df40 20 61 70 70 65 61 72 73 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 79 74 68 69 6e 67 20 77 68 65 6e .appears.to.return.anything.when
2df60 20 67 69 76 65 6e 20 61 0a 2f 2f 20 73 74 61 74 65 6d 65 6e 74 2c 20 73 6f 20 66 75 6e 63 74 69 .given.a.//.statement,.so.functi
2df80 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 67 65 6e 65 72 69 63 20 44 42 5f 45 52 52 4f 52 20 ons.return.the.generic.DB_ERROR.
2dfa0 69 6e 73 74 65 61 64 20 6f 66 20 6d 6f 72 65 0a 2f 2f 20 75 73 65 66 75 6c 20 65 72 72 6f 72 73 instead.of.more.//.useful.errors
2dfc0 20 74 68 61 74 20 68 61 76 65 20 74 6f 20 64 6f 20 77 69 74 68 20 66 65 65 64 62 61 63 6b 20 66 .that.have.to.do.with.feedback.f
2dfe0 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 2f 2f 0a 0a 0a 72 65 71 75 69 72 65 5f 6f rom.the.database..//...require_o
2e000 6e 63 65 20 27 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a 63 6c 61 73 73 20 44 42 5f 6f nce.'DB/common.php';..class.DB_o
2e020 63 69 38 20 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 20 20 20 2f 2f 20 7b ci8.extends.DB_common.{.....//.{
2e040 7b 7b 20 70 72 6f 70 65 72 74 69 65 73 0a 0a 20 20 20 20 76 61 72 20 24 63 6f 6e 6e 65 63 74 69 {{.properties......var.$connecti
2e060 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 24 64 62 73 79 6e 74 61 78 3b on;.....var.$phptype,.$dbsyntax;
2e080 0a 20 20 20 20 76 61 72 20 24 6d 61 6e 69 70 5f 71 75 65 72 79 20 3d 20 61 72 72 61 79 28 29 3b .....var.$manip_query.=.array();
2e0a0 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 .....var.$prepare_types.=.array(
2e0c0 29 3b 0a 20 20 20 20 76 61 72 20 24 61 75 74 6f 43 6f 6d 6d 69 74 20 3d 20 31 3b 0a 20 20 20 20 );.....var.$autoCommit.=.1;.....
2e0e0 76 61 72 20 24 6c 61 73 74 5f 73 74 6d 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 20 var.$last_stmt.=.false;......//.
2e100 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 75 63 74 6f 72 0a 0a 20 20 20 20 }}}.....//.{{{.constructor......
2e120 66 75 6e 63 74 69 6f 6e 20 44 42 5f 6f 63 69 38 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 function.DB_oci8().....{........
2e140 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 .$this->DB_common();.........$th
2e160 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 6f 63 69 38 27 3b 0a 20 20 20 20 20 20 20 20 24 74 is->phptype.=.'oci8';.........$t
2e180 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 6f 63 69 38 27 3b 0a 20 20 20 20 20 20 20 20 his->dbsyntax.=.'oci8';.........
2e1a0 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 $this->features.=.array(........
2e1c0 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 .....'prepare'.=>.false,........
2e1e0 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 .....'pconnect'.=>.true,........
2e200 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 .....'transactions'.=>.true,....
2e220 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 3d 3e 20 27 61 6c 74 65 72 27 0a 20 20 20 20 .........'limit'.=>.'alter'.....
2e240 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f ....);.........$this->errorcode_
2e260 6d 61 70 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 39 30 30 20 3d 3e 20 map.=.array(.............900.=>.
2e280 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 39 30 34 DB_ERROR_SYNTAX,.............904
2e2a0 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 2c 0a 20 20 20 20 20 20 .=>.DB_ERROR_NOSUCHFIELD,.......
2e2c0 20 20 20 20 20 20 39 32 33 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 0a 20 20 ......923.=>.DB_ERROR_SYNTAX,...
2e2e0 20 20 20 20 20 20 20 20 20 20 39 34 32 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 ..........942.=>.DB_ERROR_NOSUCH
2e300 54 41 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 39 35 35 20 3d 3e 20 44 42 5f 45 52 52 TABLE,.............955.=>.DB_ERR
2e320 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 31 OR_ALREADY_EXISTS,.............1
2e340 34 37 36 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 2c 0a 20 20 20 20 20 20 20 476.=>.DB_ERROR_DIVZERO,........
2e360 20 20 20 20 20 31 37 32 32 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e 55 .....1722.=>.DB_ERROR_INVALID_NU
2e380 4d 42 45 52 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 32 32 38 39 20 3d 3e 20 44 42 5f 45 52 52 MBER,.............2289.=>.DB_ERR
2e3a0 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 32 32 39 31 OR_NOSUCHTABLE,.............2291
2e3c0 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 2c 0a 20 20 20 20 20 20 20 .=>.DB_ERROR_CONSTRAINT,........
2e3e0 20 20 20 20 20 32 34 34 39 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 .....2449.=>.DB_ERROR_CONSTRAINT
2e400 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 ,.........);.....}......//.}}}..
2e420 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 ...//.{{{.connect()....../**....
2e440 20 20 2a 20 43 6f 6e 6e 65 63 74 20 74 6f 20 61 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 6c 6f ..*.Connect.to.a.database.and.lo
2e460 67 20 69 6e 20 61 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 75 73 65 72 2e 0a 20 20 20 20 g.in.as.the.specified.user......
2e480 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 64 73 6e 20 74 68 65 20 64 61 74 61 20 73 .*......*.@param.$dsn.the.data.s
2e4a0 6f 75 72 63 65 20 6e 61 6d 65 20 28 73 65 65 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 20 66 6f 72 ource.name.(see.DB::parseDSN.for
2e4c0 20 73 79 6e 74 61 78 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 70 65 72 73 69 73 74 65 .syntax)......*.@param.$persiste
2e4e0 6e 74 20 28 6f 70 74 69 6f 6e 61 6c 29 20 77 68 65 74 68 65 72 20 74 68 65 20 63 6f 6e 6e 65 63 nt.(optional).whether.the.connec
2e500 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 62 65 20 70 65 72 tion.should......*........be.per
2e520 73 69 73 74 65 6e 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e sistent......*......*.@return.in
2e540 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 63 t.DB_OK.on.success,.a.DB.error.c
2e560 6f 64 65 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 ode.on.failure......*/.....funct
2e580 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f 2c 20 24 70 65 72 73 69 73 74 65 6e ion.connect($dsninfo,.$persisten
2e5a0 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 44 42 t.=.false).....{.........if.(!DB
2e5c0 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 6f 63 69 38 27 29 29 20 7b 0a 20 20 20 ::assertExtension('oci8')).{....
2e5e0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f .........return.$this->raiseErro
2e600 72 28 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b r(DB_ERROR_EXTENSION_NOT_FOUND);
2e620 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 .........}.........$this->dsn.=.
2e640 24 64 73 6e 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 24 75 73 65 72 20 3d 20 24 64 73 6e 69 6e $dsninfo;.........$user.=.$dsnin
2e660 66 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 3d 20 24 64 fo['username'];.........$pw.=.$d
2e680 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 68 6f 73 sninfo['password'];.........$hos
2e6a0 74 73 70 65 63 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 3b 0a 0a 20 tspec.=.$dsninfo['hostspec'];...
2e6c0 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 24 70 65 72 73 .......$connect_function.=.$pers
2e6e0 69 73 74 65 6e 74 20 3f 20 27 4f 43 49 50 4c 6f 67 6f 6e 27 20 3a 20 27 4f 43 49 4c 6f 67 6f 6e istent.?.'OCIPLogon'.:.'OCILogon
2e700 27 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 68 6f 73 74 73 70 65 63 29 20 7b 0a 20 20 20 ';..........if.($hostspec).{....
2e720 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 .........$conn.=.@$connect_funct
2e740 69 6f 6e 28 24 75 73 65 72 2c 24 70 77 2c 24 68 6f 73 74 73 70 65 63 29 3b 0a 20 20 20 20 20 20 ion($user,$pw,$hostspec);.......
2e760 20 20 7d 20 65 6c 73 65 69 66 20 28 24 75 73 65 72 20 7c 7c 20 24 70 77 29 20 7b 0a 20 20 20 20 ..}.elseif.($user.||.$pw).{.....
2e780 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 ........$conn.=.@$connect_functi
2e7a0 6f 6e 28 24 75 73 65 72 2c 24 70 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a on($user,$pw);.........}.else.{.
2e7c0 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 ............$conn.=.false;......
2e7e0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6f 6e 6e 20 3d 3d 20 66 61 6c 73 65 29 ...}.........if.($conn.==.false)
2e800 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 3d 20 4f 43 49 45 72 72 6f 72 .{.............$error.=.OCIError
2e820 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 3d 20 28 69 73 5f 61 72 72 ();.............$error.=.(is_arr
2e840 61 79 28 24 65 72 72 6f 72 29 29 20 3f 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 20 ay($error)).?.$error['message'].
2e860 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 :.null;.............return.$this
2e880 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 ->raiseError(DB_ERROR_CONNECT_FA
2e8a0 49 4c 45 44 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ILED,.null,.null,...............
2e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 24 65 72 .......................null,.$er
2e8e0 72 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 ror);.........}.........$this->c
2e900 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 onnection.=.$conn;.........retur
2e920 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f n.DB_OK;.....}......//.}}}...../
2e940 2f 20 7b 7b 7b 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 /.{{{.disconnect()....../**.....
2e960 20 2a 20 4c 6f 67 20 6f 75 74 20 61 6e 64 20 64 69 73 63 6f 6e 6e 65 63 74 20 66 72 6f 6d 20 74 .*.Log.out.and.disconnect.from.t
2e980 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 he.database.......*......*.@retu
2e9a0 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 46 41 4c 53 45 20 69 rn.bool.TRUE.on.success,.FALSE.i
2e9c0 66 20 6e 6f 74 20 63 6f 6e 6e 65 63 74 65 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e f.not.connected.......*/.....fun
2e9e0 63 74 69 6f 6e 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ction.disconnect().....{........
2ea00 20 24 72 65 74 20 3d 20 40 4f 43 49 4c 6f 67 4f 66 66 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 .$ret.=.@OCILogOff($this->connec
2ea20 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e tion);.........$this->connection
2ea40 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 .=.null;.........return.$ret;...
2ea60 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 69 6d 70 6c ..}......//.}}}.....//.{{{.simpl
2ea80 65 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 6e 64 20 61 20 eQuery()....../**......*.Send.a.
2eaa0 71 75 65 72 79 20 74 6f 20 6f 72 61 63 6c 65 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 query.to.oracle.and.return.the.r
2eac0 65 73 75 6c 74 73 20 61 73 20 61 6e 20 6f 63 69 38 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 esults.as.an.oci8.resource......
2eae0 2a 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 *.identifier.......*......*.@par
2eb00 61 6d 20 24 71 75 65 72 79 20 74 68 65 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 am.$query.the.SQL.query......*..
2eb20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 69 ....*.@return.int.returns.a.vali
2eb40 64 20 6f 63 69 38 20 72 65 73 75 6c 74 20 66 6f 72 20 73 75 63 63 65 73 73 66 75 6c 20 53 45 4c d.oci8.result.for.successful.SEL
2eb60 45 43 54 0a 20 20 20 20 20 2a 20 71 75 65 72 69 65 73 2c 20 44 42 5f 4f 4b 20 66 6f 72 20 6f 74 ECT......*.queries,.DB_OK.for.ot
2eb80 68 65 72 20 73 75 63 63 65 73 73 66 75 6c 20 71 75 65 72 69 65 73 2e 20 20 41 20 44 42 20 65 72 her.successful.queries...A.DB.er
2eba0 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 20 69 73 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 66 ror.code......*.is.returned.on.f
2ebc0 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d ailure.......*/.....function.sim
2ebe0 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 pleQuery($query).....{.........$
2ec00 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 this->last_query.=.$query;......
2ec20 20 20 20 24 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 ...$query.=.$this->modifyQuery($
2ec40 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 4f 43 49 50 61 query);.........$result.=.@OCIPa
2ec60 72 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 71 75 65 72 79 29 3b 0a rse($this->connection,.$query);.
2ec80 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 ........if.(!$result).{.........
2eca0 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 ....return.$this->oci8RaiseError
2ecc0 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d ();.........}.........if.($this-
2ece0 3e 61 75 74 6f 43 6f 6d 6d 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 63 63 >autoCommit).{.............$succ
2ed00 65 73 73 20 3d 20 40 4f 43 49 45 78 65 63 75 74 65 28 24 72 65 73 75 6c 74 2c 4f 43 49 5f 43 4f ess.=.@OCIExecute($result,OCI_CO
2ed20 4d 4d 49 54 5f 4f 4e 5f 53 55 43 43 45 53 53 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 MMIT_ON_SUCCESS);.........}.else
2ed40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 63 63 65 73 73 20 3d 20 40 4f 43 49 45 78 .{.............$success.=.@OCIEx
2ed60 65 63 75 74 65 28 24 72 65 73 75 6c 74 2c 4f 43 49 5f 44 45 46 41 55 4c 54 29 3b 0a 20 20 20 20 ecute($result,OCI_DEFAULT);.....
2ed80 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 73 75 63 63 65 73 73 29 20 7b 0a 20 ....}.........if.(!$success).{..
2eda0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 ...........return.$this->oci8Rai
2edc0 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 seError($result);.........}.....
2ede0 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 3d 24 72 65 73 75 6c 74 3b 0a 20 20 ....$this->last_stmt=$result;...
2ee00 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 71 75 65 72 69 65 73 ......//.Determine.which.queries
2ee20 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 61 74 61 2c 20 61 6e 64 20 77 68 .that.should.return.data,.and.wh
2ee40 69 63 68 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 ich.........//.should.return.an.
2ee60 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 error.code.only..........return.
2ee80 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 20 3f 20 44 42 5f 4f 4b 20 3a 20 24 72 DB::isManip($query).?.DB_OK.:.$r
2eea0 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 esult;.....}......//.}}}.....//.
2eec0 7b 7b 7b 20 6e 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a {{{.nextResult()....../**......*
2eee0 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6f 72 61 63 6c 65 20 72 65 73 75 6c 74 .Move.the.internal.oracle.result
2ef00 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 61 69 6c 61 62 6c 65 20 72 .pointer.to.the.next.available.r
2ef20 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 20 76 61 6c esult......*......*.@param.a.val
2ef40 69 64 20 6f 63 69 38 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 0a 20 id.oci8.result.resource......*..
2ef60 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 ....*.@access.public......*.....
2ef80 20 2a 20 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 65 73 75 6c 74 20 69 73 20 61 .*.@return.true.if.a.result.is.a
2efa0 76 61 69 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 66 61 6c 73 65 0a vailable.otherwise.return.false.
2efc0 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 65 73 75 6c 74 28 .....*/.....function.nextResult(
2efe0 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 $result).....{.........return.fa
2f000 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b lse;.....}......//.}}}.....//.{{
2f020 7b 20 66 65 74 63 68 52 6f 77 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 {.fetchRow()....../**......*.Fet
2f040 63 68 20 61 20 72 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 20 61 73 20 61 72 72 61 79 2e 0a 20 20 ch.a.row.and.return.as.array....
2f060 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 6f 63 69 38 20 ...*......*.@param.$result.oci8.
2f080 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 result.identifier......*.@param.
2f0a0 24 66 65 74 63 68 6d 6f 64 65 20 68 6f 77 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 61 72 72 $fetchmode.how.the.resulting.arr
2f0c0 61 79 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 64 65 78 65 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 ay.should.be.indexed......*.....
2f0e0 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 61 6e 20 61 72 72 61 79 20 6f 6e 20 73 75 63 63 65 .*.@return.int.an.array.on.succe
2f100 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 20 66 61 69 6c 75 72 65 2c 20 ss,.a.DB.error.code.on.failure,.
2f120 4e 55 4c 4c 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 68 65 72 65 NULL......*.............if.there
2f140 20 69 73 20 6e 6f 20 6d 6f 72 65 20 64 61 74 61 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e .is.no.more.data......*/.....fun
2f160 63 74 69 6f 6e 20 26 66 65 74 63 68 52 6f 77 28 24 72 65 73 75 6c 74 2c 20 24 66 65 74 63 68 6d ction.&fetchRow($result,.$fetchm
2f180 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 0a 20 20 20 20 ode.=.DB_FETCHMODE_DEFAULT).....
2f1a0 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 42 5f 46 {.........if.($fetchmode.==.DB_F
2f1c0 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ETCHMODE_DEFAULT).{.............
2f1e0 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 $fetchmode.=.$this->fetchmode;..
2f200 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 .......}.........if.($fetchmode.
2f220 26 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 &.DB_FETCHMODE_ASSOC).{.........
2f240 20 20 20 20 24 6d 6f 72 65 64 61 74 61 20 3d 20 40 4f 43 49 46 65 74 63 68 49 6e 74 6f 28 24 72 ....$moredata.=.@OCIFetchInto($r
2f260 65 73 75 6c 74 2c 20 24 72 6f 77 2c 20 4f 43 49 5f 41 53 53 4f 43 20 2b 20 4f 43 49 5f 52 45 54 esult,.$row,.OCI_ASSOC.+.OCI_RET
2f280 55 52 4e 5f 4e 55 4c 4c 53 20 2b 20 4f 43 49 5f 52 45 54 55 52 4e 5f 4c 4f 42 53 29 3b 0a 20 20 URN_NULLS.+.OCI_RETURN_LOBS);...
2f2a0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 6f 72 65 ......}.else.{.............$more
2f2c0 64 61 74 61 20 3d 20 40 4f 43 49 46 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 24 72 data.=.@OCIFetchInto($result,.$r
2f2e0 6f 77 2c 20 4f 43 49 5f 52 45 54 55 52 4e 5f 4e 55 4c 4c 53 20 2b 20 4f 43 49 5f 52 45 54 55 52 ow,.OCI_RETURN_NULLS.+.OCI_RETUR
2f300 4e 5f 4c 4f 42 53 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 N_LOBS);.........}.........if.(!
2f320 24 6d 6f 72 65 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 $moredata).{.............return.
2f340 4e 55 4c 4c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 NULL;.........}.........return.$
2f360 72 6f 77 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b row;.....}......//.}}}.....//.{{
2f380 7b 20 66 65 74 63 68 49 6e 74 6f 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 {.fetchInto()....../**......*.Fe
2f3a0 74 63 68 20 61 20 72 6f 77 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 64 61 74 61 20 69 6e tch.a.row.and.insert.the.data.in
2f3c0 74 6f 20 61 6e 20 65 78 69 73 74 69 6e 67 20 61 72 72 61 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 to.an.existing.array.......*....
2f3e0 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 6f 63 69 38 20 72 65 73 75 6c 74 20 69 ..*.@param.$result.oci8.result.i
2f400 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 61 72 72 20 28 72 65 dentifier......*.@param.$arr.(re
2f420 66 65 72 65 6e 63 65 29 20 61 72 72 61 79 20 77 68 65 72 65 20 64 61 74 61 20 66 72 6f 6d 20 74 ference).array.where.data.from.t
2f440 68 65 20 72 6f 77 20 69 73 20 73 74 6f 72 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 he.row.is.stored......*.@param.$
2f460 66 65 74 63 68 6d 6f 64 65 20 68 6f 77 20 74 68 65 20 61 72 72 61 79 20 64 61 74 61 20 73 68 6f fetchmode.how.the.array.data.sho
2f480 75 6c 64 20 62 65 20 69 6e 64 65 78 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 6f uld.be.indexed......*.@param.$ro
2f4a0 77 6e 75 6d 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 20 28 6e 6f wnum.the.row.number.to.fetch.(no
2f4c0 74 20 79 65 74 20 73 75 70 70 6f 72 74 65 64 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 t.yet.supported)......*......*.@
2f4e0 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 44 return.int.DB_OK.on.success,.a.D
2f500 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 2a 2f 0a B.error.code.on.failure......*/.
2f520 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 ....function.fetchInto($result,.
2f540 26 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 &$arr,.$fetchmode.=.DB_FETCHMODE
2f560 5f 44 45 46 41 55 4c 54 2c 20 24 72 6f 77 6e 75 6d 3d 4e 55 4c 4c 29 0a 20 20 20 20 7b 0a 20 20 _DEFAULT,.$rownum=NULL).....{...
2f580 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 4e 55 4c 4c 29 20 7b 0a 20 20 ......if.($rownum.!==.NULL).{...
2f5a0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 ..........return.$this->raiseErr
2f5c0 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 20 20 or(DB_ERROR_NOT_CAPABLE);.......
2f5e0 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 26 20 44 42 5f ..}.........if.($fetchmode.&.DB_
2f600 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 FETCHMODE_ASSOC).{.............$
2f620 6d 6f 72 65 64 61 74 61 20 3d 20 40 4f 43 49 46 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 moredata.=.@OCIFetchInto($result
2f640 2c 24 61 72 72 2c 4f 43 49 5f 41 53 53 4f 43 2b 4f 43 49 5f 52 45 54 55 52 4e 5f 4e 55 4c 4c 53 ,$arr,OCI_ASSOC+OCI_RETURN_NULLS
2f660 2b 4f 43 49 5f 52 45 54 55 52 4e 5f 4c 4f 42 53 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 +OCI_RETURN_LOBS);.............i
2f680 66 20 28 24 6d 6f 72 65 64 61 74 61 20 26 26 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 f.($moredata.&&.$this->options['
2f6a0 6f 70 74 69 6d 69 7a 65 27 5d 20 3d 3d 20 27 70 6f 72 74 61 62 69 6c 69 74 79 27 29 20 7b 0a 20 optimize'].==.'portability').{..
2f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 61 72 72 61 79 5f 63 68 61 6e ...............$arr.=.array_chan
2f6e0 67 65 5f 6b 65 79 5f 63 61 73 65 28 24 61 72 72 2c 20 43 41 53 45 5f 4c 4f 57 45 52 29 3b 0a 20 ge_key_case($arr,.CASE_LOWER);..
2f700 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 ...........}.........}.else.{...
2f720 20 20 20 20 20 20 20 20 20 20 24 6d 6f 72 65 64 61 74 61 20 3d 20 40 4f 43 49 46 65 74 63 68 49 ..........$moredata.=.@OCIFetchI
2f740 6e 74 6f 28 24 72 65 73 75 6c 74 2c 24 61 72 72 2c 4f 43 49 5f 52 45 54 55 52 4e 5f 4e 55 4c 4c nto($result,$arr,OCI_RETURN_NULL
2f760 53 2b 4f 43 49 5f 52 45 54 55 52 4e 5f 4c 4f 42 53 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 S+OCI_RETURN_LOBS);.........}...
2f780 20 20 20 20 20 20 69 66 20 28 21 24 6d 6f 72 65 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 ......if.(!$moredata).{.........
2f7a0 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ....return.NULL;.........}......
2f7c0 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d ...return.DB_OK;.....}......//.}
2f7e0 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 72 65 65 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 }}.....//.{{{.freeResult()......
2f800 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 72 65 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 72 65 73 /**......*.Free.the.internal.res
2f820 6f 75 72 63 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 24 72 65 73 75 6c 74 2e 0a ources.associated.with.$result..
2f840 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 6f 63 69 .....*......*.@param.$result.oci
2f860 38 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 20 6f 72 20 44 42 20 73 74 61 74 65 6d 8.result.identifier.or.DB.statem
2f880 65 6e 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 ent.identifier......*......*.@re
2f8a0 74 75 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 46 41 4c 53 45 turn.bool.TRUE.on.success,.FALSE
2f8c0 20 69 66 20 24 72 65 73 75 6c 74 20 69 73 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 2a 2f 0a 20 .if.$result.is.invalid......*/..
2f8e0 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a ...function.freeResult($result).
2f900 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 72 ....{.........if.(is_resource($r
2f920 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 40 4f 43 esult)).{.............return.@OC
2f940 49 46 72 65 65 53 74 61 74 65 6d 65 6e 74 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 IFreeStatement($result);........
2f960 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 .}.........if.(!isset($this->pre
2f980 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 29 20 7b 0a 20 20 pare_tokens[(int)$result])).{...
2f9a0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 ..........return.false;.........
2f9c0 7d 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 }.........unset($this->prepare_t
2f9e0 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 6e okens[(int)$result]);.........un
2fa00 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 5b 28 69 6e 74 29 24 72 set($this->prepare_types[(int)$r
2fa20 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6d 61 esult]);.........unset($this->ma
2fa40 6e 69 70 5f 71 75 65 72 79 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 nip_query[(int)$result]);.......
2fa60 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d ..return.true;.....}......//.}}}
2fa80 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 52 6f 77 73 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 .....//.{{{.numRows()......funct
2faa0 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ion.numRows($result).....{......
2fac0 20 20 20 2f 2f 20 65 6d 75 6c 61 74 65 20 6e 75 6d 52 6f 77 73 20 66 6f 72 20 4f 72 61 63 6c 65 ...//.emulate.numRows.for.Oracle
2fae0 2e 20 20 79 75 63 6b 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 ...yuck..........if.($this->opti
2fb00 6f 6e 73 5b 27 6f 70 74 69 6d 69 7a 65 27 5d 20 3d 3d 20 27 70 6f 72 74 61 62 69 6c 69 74 79 27 ons['optimize'].==.'portability'
2fb20 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 3d 3d 20 24 74 68 69 .&&.............$result.===.$thi
2fb40 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 75 s->last_stmt).{.............$cou
2fb60 6e 74 71 75 65 72 79 20 3d 20 22 53 45 4c 45 43 54 20 43 4f 55 4e 54 28 2a 29 20 46 52 4f 4d 20 ntquery.=."SELECT.COUNT(*).FROM.
2fb80 28 22 2e 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 2e 22 29 22 3b 0a 20 20 20 20 20 20 (".$this->last_query.")";.......
2fba0 20 20 20 20 20 20 24 73 61 76 65 5f 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f ......$save_query.=.$this->last_
2fbc0 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 61 76 65 5f 73 74 6d 74 20 3d 20 query;.............$save_stmt.=.
2fbe0 24 74 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 $this->last_stmt;.............$c
2fc00 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 24 63 6f 75 6e 74 71 75 65 72 79 29 ount.=.$this->query($countquery)
2fc20 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 63 ;.............if.(DB::isError($c
2fc40 6f 75 6e 74 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 3a 3a 69 73 45 ount).||.................DB::isE
2fc60 72 72 6f 72 28 24 72 6f 77 20 3d 20 24 63 6f 75 6e 74 2d 3e 66 65 74 63 68 52 6f 77 28 44 42 5f rror($row.=.$count->fetchRow(DB_
2fc80 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 FETCHMODE_ORDERED)))............
2fca0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 .{.................$this->last_q
2fcc0 75 65 72 79 20 3d 20 24 73 61 76 65 5f 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 uery.=.$save_query;.............
2fce0 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 20 3d 20 24 73 61 76 65 5f 73 74 6d ....$this->last_stmt.=.$save_stm
2fd00 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d t;.................return.$this-
2fd20 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 >raiseError(DB_ERROR_NOT_CAPABLE
2fd40 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 );.............}.............ret
2fd60 75 72 6e 20 24 72 6f 77 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 urn.$row[0];.........}.........r
2fd80 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 eturn.$this->raiseError(DB_ERROR
2fda0 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d _NOT_CAPABLE);.....}......//.}}}
2fdc0 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 43 6f 6c 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 .....//.{{{.numCols()....../**..
2fde0 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 ....*.Get.the.number.of.columns.
2fe00 69 6e 20 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 in.a.result.set.......*......*.@
2fe20 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 6f 63 69 38 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 param.$result.oci8.result.identi
2fe40 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 74 fier......*......*.@return.int.t
2fe60 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 70 65 72 20 72 6f 77 20 69 6e 20 he.number.of.columns.per.row.in.
2fe80 24 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d $result......*/.....function.num
2fea0 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6c Cols($result).....{.........$col
2fec0 73 20 3d 20 40 4f 43 49 4e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 s.=.@OCINumCols($result);.......
2fee0 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ..if.(!$cols).{.............retu
2ff00 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 rn.$this->oci8RaiseError($result
2ff20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6c );.........}.........return.$col
2ff40 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 s;.....}......//.}}}.....//.{{{.
2ff60 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 errorNative()....../**......*.Ge
2ff80 74 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 66 20 74 68 65 20 6c t.the.native.error.code.of.the.l
2ffa0 61 73 74 20 65 72 72 6f 72 20 28 69 66 20 61 6e 79 29 20 74 68 61 74 20 6f 63 63 75 72 65 64 0a ast.error.(if.any).that.occured.
2ffc0 20 20 20 20 20 2a 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e .....*.on.the.current.connection
2ffe0 2e 20 20 54 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 2c 20 61 73 20 4f 43 49 45 72 72 ...This.does.not.work,.as.OCIErr
30000 6f 72 20 64 6f 65 73 0a 20 20 20 20 20 2a 20 6e 6f 74 20 77 6f 72 6b 20 75 6e 6c 65 73 73 20 67 or.does......*.not.work.unless.g
30020 69 76 65 6e 20 61 20 73 74 61 74 65 6d 65 6e 74 2e 20 20 49 66 20 4f 43 49 45 72 72 6f 72 20 64 iven.a.statement...If.OCIError.d
30040 6f 65 73 20 72 65 74 75 72 6e 0a 20 20 20 20 20 2a 20 73 6f 6d 65 74 68 69 6e 67 2c 20 73 6f 20 oes.return......*.something,.so.
30060 77 69 6c 6c 20 74 68 69 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e will.this.......*......*.@return
30080 20 69 6e 74 20 6e 61 74 69 76 65 20 6f 63 69 38 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 .int.native.oci8.error.code.....
300a0 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 20 .*/.....function.errorNative()..
300c0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 ...{.........if.(is_resource($th
300e0 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 is->last_stmt)).{.............$e
30100 72 72 6f 72 20 3d 20 40 4f 43 49 45 72 72 6f 72 28 24 74 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d rror.=.@OCIError($this->last_stm
30120 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 t);.........}.else.{............
30140 20 24 65 72 72 6f 72 20 3d 20 40 4f 43 49 45 72 72 6f 72 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 .$error.=.@OCIError($this->conne
30160 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 ction);.........}.........if.(is
30180 5f 61 72 72 61 79 28 24 65 72 72 6f 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 _array($error)).{.............re
301a0 74 75 72 6e 20 24 65 72 72 6f 72 5b 27 63 6f 64 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 turn.$error['code'];.........}..
301c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .......return.false;.....}......
301e0 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 65 70 61 72 65 28 29 0a 0a 20 20 20 //.}}}.....//.{{{.prepare().....
30200 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 72 65 70 61 72 65 73 20 61 20 71 75 65 72 79 20 66 6f 72 ./**......*.Prepares.a.query.for
30220 20 6d 75 6c 74 69 70 6c 65 20 65 78 65 63 75 74 69 6f 6e 20 77 69 74 68 20 65 78 65 63 75 74 65 .multiple.execution.with.execute
30240 28 29 2e 20 20 57 69 74 68 0a 20 20 20 20 20 2a 20 6f 63 69 38 2c 20 74 68 69 73 20 69 73 20 65 ()...With......*.oci8,.this.is.e
30260 6d 75 6c 61 74 65 64 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 71 75 65 72 79 20 71 75 mulated.......*.@param.$query.qu
30280 65 72 79 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ery.to.be.prepared......*......*
302a0 20 40 72 65 74 75 72 6e 20 44 42 20 73 74 61 74 65 6d 65 6e 74 20 72 65 73 6f 75 72 63 65 0a 20 .@return.DB.statement.resource..
302c0 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 72 65 28 24 71 75 65 ....*/.....function.prepare($que
302e0 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 6f 6b 65 6e 73 20 3d 20 73 70 6c 69 ry).....{.........$tokens.=.spli
30300 74 28 27 5b 5c 26 5c 3f 5d 27 2c 20 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 74 6f t('[\&\?]',.$query);.........$to
30320 6b 65 6e 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 ken.=.0;.........$types.=.array(
30340 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 74 72 );.........for.($i.=.0;.$i.<.str
30360 6c 65 6e 28 24 71 75 65 72 79 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 len($query);.$i++).{............
30380 20 73 77 69 74 63 68 20 28 24 71 75 65 72 79 5b 24 69 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .switch.($query[$i]).{..........
303a0 20 20 20 20 20 20 20 63 61 73 65 20 27 3f 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......case.'?':................
303c0 20 20 20 20 20 24 74 79 70 65 73 5b 24 74 6f 6b 65 6e 2b 2b 5d 20 3d 20 44 42 5f 50 41 52 41 4d .....$types[$token++].=.DB_PARAM
303e0 5f 53 43 41 4c 41 52 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 _SCALAR;.....................bre
30400 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 26 27 3a 0a 20 20 ak;.................case.'&':...
30420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 70 65 73 5b 24 74 6f 6b 65 6e 2b ..................$types[$token+
30440 2b 5d 20 3d 20 44 42 5f 50 41 52 41 4d 5f 4f 50 41 51 55 45 3b 0a 20 20 20 20 20 20 20 20 20 20 +].=.DB_PARAM_OPAQUE;...........
30460 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ..........break;.............}..
30480 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 62 69 6e 64 73 20 3d 20 73 69 7a 65 6f 66 .......}.........$binds.=.sizeof
304a0 28 24 74 6f 6b 65 6e 73 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 24 6e 65 77 71 75 65 72 79 ($tokens).-.1;.........$newquery
304c0 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c .=.'';.........for.($i.=.0;.$i.<
304e0 20 24 62 69 6e 64 73 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 .$binds;.$i++).{.............$ne
30500 77 71 75 65 72 79 20 2e 3d 20 24 74 6f 6b 65 6e 73 5b 24 69 5d 20 2e 20 22 3a 62 69 6e 64 22 20 wquery..=.$tokens[$i]...":bind".
30520 2e 20 24 69 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 6e 65 77 71 75 65 72 ..$i;.........}.........$newquer
30540 79 20 2e 3d 20 24 74 6f 6b 65 6e 73 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d y..=.$tokens[$i];.........$this-
30560 3e 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 24 6e >last_query.=.$query;.........$n
30580 65 77 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 6e 65 ewquery.=.$this->modifyQuery($ne
305a0 77 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 73 74 6d 74 20 3d 20 40 4f 43 49 50 61 72 wquery);.........$stmt.=.@OCIPar
305c0 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 6e 65 77 71 75 65 72 79 29 se($this->connection,.$newquery)
305e0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 ;.........$this->prepare_types[$
30600 73 74 6d 74 5d 20 3d 20 24 74 79 70 65 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d stmt].=.$types;.........$this->m
30620 61 6e 69 70 5f 71 75 65 72 79 5b 28 69 6e 74 29 24 73 74 6d 74 5d 20 3d 20 44 42 3a 3a 69 73 4d anip_query[(int)$stmt].=.DB::isM
30640 61 6e 69 70 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 anip($query);.........return.$st
30660 6d 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b mt;.....}......//.}}}.....//.{{{
30680 20 65 78 65 63 75 74 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 78 65 63 75 .execute()....../**......*.Execu
306a0 74 65 73 20 61 20 44 42 20 73 74 61 74 65 6d 65 6e 74 20 70 72 65 70 61 72 65 64 20 77 69 74 68 tes.a.DB.statement.prepared.with
306c0 20 70 72 65 70 61 72 65 28 29 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .prepare().......*......*.@param
306e0 20 24 73 74 6d 74 20 61 20 44 42 20 73 74 61 74 65 6d 65 6e 74 20 72 65 73 6f 75 72 63 65 20 28 .$stmt.a.DB.statement.resource.(
30700 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 70 72 65 70 61 72 65 28 29 29 0a 20 20 20 20 20 2a 20 returned.from.prepare())......*.
30720 40 70 61 72 61 6d 20 24 64 61 74 61 20 64 61 74 61 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 @param.$data.data.to.be.used.in.
30740 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 execution.of.the.statement......
30760 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 72 65 74 75 72 6e 73 20 61 6e 20 *......*.@return.int.returns.an.
30780 6f 63 69 38 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 20 66 6f 72 20 73 75 63 63 65 73 73 oci8.result.resource.for.success
307a0 66 75 6c 0a 20 20 20 20 20 2a 20 53 45 4c 45 43 54 20 71 75 65 72 69 65 73 2c 20 44 42 5f 4f 4b ful......*.SELECT.queries,.DB_OK
307c0 20 66 6f 72 20 6f 74 68 65 72 20 73 75 63 63 65 73 73 66 75 6c 20 71 75 65 72 69 65 73 2e 20 20 .for.other.successful.queries...
307e0 41 20 44 42 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 20 63 6f 64 65 20 69 73 20 72 65 74 75 72 6e A.DB.error......*.code.is.return
30800 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 ed.on.failure.......*/.....funct
30820 69 6f 6e 20 65 78 65 63 75 74 65 28 24 73 74 6d 74 2c 20 24 64 61 74 61 20 3d 20 66 61 6c 73 65 ion.execute($stmt,.$data.=.false
30840 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 73 3d 26 24 74 68 69 73 2d 3e 70 ).....{.........$types=&$this->p
30860 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 73 74 6d 74 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 repare_types[$stmt];.........if.
30880 28 28 24 73 69 7a 65 20 3d 20 73 69 7a 65 6f 66 28 24 74 79 70 65 73 29 29 20 21 3d 20 73 69 7a (($size.=.sizeof($types)).!=.siz
308a0 65 6f 66 28 24 64 61 74 61 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e eof($data)).{.............return
308c0 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4d 49 53 4d .$this->raiseError(DB_ERROR_MISM
308e0 41 54 43 48 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 ATCH);.........}.........for.($i
30900 20 3d 20 30 3b 20 24 69 20 3c 20 24 73 69 7a 65 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 .=.0;.$i.<.$size;.$i++).{.......
30920 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 29 29 20 7b 0a 20 20 20 ......if.(is_array($data)).{....
30940 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 64 61 74 61 5b 24 69 5d 20 3d 20 26 24 64 61 74 61 .............$pdata[$i].=.&$data
30960 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 [$i];.............}.............
30980 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 64 61 74 61 5b 24 69 else.{.................$pdata[$i
309a0 5d 20 3d 20 26 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ].=.&$data;.............}.......
309c0 20 20 20 20 20 20 69 66 20 28 24 74 79 70 65 73 5b 24 69 5d 20 3d 3d 20 44 42 5f 50 41 52 41 4d ......if.($types[$i].==.DB_PARAM
309e0 5f 4f 50 41 51 55 45 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 70 20 3d _OPAQUE).{.................$fp.=
30a00 20 66 6f 70 65 6e 28 24 70 64 61 74 61 5b 24 69 5d 2c 20 22 72 22 29 3b 0a 20 20 20 20 20 20 20 .fopen($pdata[$i],."r");........
30a20 20 20 20 20 20 20 20 20 20 24 70 64 61 74 61 5b 24 69 5d 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 .........$pdata[$i].=.'';.......
30a40 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ..........if.($fp).{............
30a60 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 28 24 62 75 66 20 3d 20 66 72 65 61 64 28 24 66 .........while.(($buf.=.fread($f
30a80 70 2c 20 34 30 39 36 29 29 20 21 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 p,.4096)).!=.false).{...........
30aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 64 61 74 61 5b 24 69 5d 20 2e 3d 20 24 62 75 66 ..............$pdata[$i]..=.$buf
30ac0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ;.....................}.........
30ae0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ........}.............}.........
30b00 20 20 20 20 69 66 20 28 21 40 4f 43 49 42 69 6e 64 42 79 4e 61 6d 65 28 24 73 74 6d 74 2c 20 22 ....if.(!@OCIBindByName($stmt,."
30b20 3a 62 69 6e 64 22 20 2e 20 24 69 2c 20 24 70 64 61 74 61 5b 24 69 5d 2c 20 2d 31 29 29 20 7b 0a :bind"...$i,.$pdata[$i],.-1)).{.
30b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 ................return.$this->oc
30b60 69 38 52 61 69 73 65 45 72 72 6f 72 28 24 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 i8RaiseError($stmt);............
30b80 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e .}.........}.........if.($this->
30ba0 61 75 74 6f 43 6f 6d 6d 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 63 63 65 autoCommit).{.............$succe
30bc0 73 73 20 3d 20 40 4f 43 49 45 78 65 63 75 74 65 28 24 73 74 6d 74 2c 20 4f 43 49 5f 43 4f 4d 4d ss.=.@OCIExecute($stmt,.OCI_COMM
30be0 49 54 5f 4f 4e 5f 53 55 43 43 45 53 53 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 IT_ON_SUCCESS);.........}.......
30c00 20 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 63 63 65 73 73 20 3d 20 ..else.{.............$success.=.
30c20 40 4f 43 49 45 78 65 63 75 74 65 28 24 73 74 6d 74 2c 20 4f 43 49 5f 44 45 46 41 55 4c 54 29 3b @OCIExecute($stmt,.OCI_DEFAULT);
30c40 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 73 75 63 63 65 73 73 .........}.........if.(!$success
30c60 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 ).{.............return.$this->oc
30c80 69 38 52 61 69 73 65 45 72 72 6f 72 28 24 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 i8RaiseError($stmt);.........}..
30ca0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 20 3d 20 24 73 74 6d 74 3b .......$this->last_stmt.=.$stmt;
30cc0 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 6e 69 70 5f 71 75 65 72 79 5b .........if.($this->manip_query[
30ce0 28 69 6e 74 29 24 73 74 6d 74 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 (int)$stmt]).{.............retur
30d00 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 n.DB_OK;.........}.else.{.......
30d20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 44 42 5f 72 65 73 75 6c 74 28 24 74 68 69 73 ......return.new.DB_result($this
30d40 2c 20 24 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f ,.$stmt);.........}.....}....../
30d60 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 75 74 6f 43 6f 6d 6d 69 74 28 29 0a 0a 20 /.}}}.....//.{{{.autoCommit()...
30d80 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 61 75 74 .../**......*.Enable/disable.aut
30da0 6f 6d 61 74 69 63 20 63 6f 6d 6d 69 74 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 omatic.commits......*......*.@pa
30dc0 72 61 6d 20 24 6f 6e 6f 66 66 20 74 72 75 65 2f 66 61 6c 73 65 20 77 68 65 74 68 65 72 20 74 6f ram.$onoff.true/false.whether.to
30de0 20 61 75 74 6f 63 6f 6d 6d 69 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e .autocommit......*/.....function
30e00 20 61 75 74 6f 43 6f 6d 6d 69 74 28 24 6f 6e 6f 66 66 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 .autoCommit($onoff.=.false).....
30e20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 43 6f 6d 6d 69 74 20 3d 20 28 62 {.........$this->autoCommit.=.(b
30e40 6f 6f 6c 29 24 6f 6e 6f 66 66 3b 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f ool)$onoff;;.........return.DB_O
30e60 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 K;.....}......//.}}}.....//.{{{.
30e80 63 6f 6d 6d 69 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6d 6d 69 74 20 commit()....../**......*.Commit.
30ea0 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 6e transactions.on.the.current.conn
30ec0 65 63 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 44 42 5f ection......*......*.@return.DB_
30ee0 45 52 52 4f 52 20 6f 72 20 44 42 5f 4f 4b 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 ERROR.or.DB_OK......*/.....funct
30f00 69 6f 6e 20 63 6f 6d 6d 69 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 ion.commit().....{.........$resu
30f20 6c 74 20 3d 20 40 4f 43 49 43 6f 6d 6d 69 74 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f lt.=.@OCICommit($this->connectio
30f40 6e 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 n);.........if.(!$result).{.....
30f60 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 ........return.$this->oci8RaiseE
30f80 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e rror();.........}.........return
30fa0 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f .DB_OK;.....}......//.}}}.....//
30fc0 20 7b 7b 7b 20 72 6f 6c 6c 62 61 63 6b 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 .{{{.rollback()....../**......*.
30fe0 52 6f 6c 6c 20 62 61 63 6b 20 61 6c 6c 20 75 6e 63 6f 6d 6d 69 74 74 65 64 20 74 72 61 6e 73 61 Roll.back.all.uncommitted.transa
31000 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63 74 69 6f 6e ctions.on.the.current.connection
31020 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 44 42 5f 45 52 52 4f 52 .......*......*.@return.DB_ERROR
31040 20 6f 72 20 44 42 5f 4f 4b 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 .or.DB_OK......*/.....function.r
31060 6f 6c 6c 62 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 ollback().....{.........$result.
31080 3d 20 40 4f 43 49 52 6f 6c 6c 62 61 63 6b 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e =.@OCIRollback($this->connection
310a0 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 );.........if.(!$result).{......
310c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 .......return.$this->oci8RaiseEr
310e0 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ror();.........}.........return.
31100 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 DB_OK;.....}......//.}}}.....//.
31120 7b 7b 7b 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 {{{.affectedRows()....../**.....
31140 20 2a 20 47 65 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 .*.Gets.the.number.of.rows.affec
31160 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 2e 0a 20 20 20 20 20 2a 20 69 66 ted.by.the.last.query.......*.if
31180 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 20 77 61 73 20 61 20 73 65 6c 65 63 74 2c 20 72 65 .the.last.query.was.a.select,.re
311a0 74 75 72 6e 73 20 30 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e turns.0.......*......*.@return.n
311c0 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 umber.of.rows.affected.by.the.la
311e0 73 74 20 71 75 65 72 79 20 6f 72 20 44 42 5f 45 52 52 4f 52 0a 20 20 20 20 20 2a 2f 0a 20 20 20 st.query.or.DB_ERROR......*/....
31200 20 66 75 6e 63 74 69 6f 6e 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 .function.affectedRows().....{..
31220 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 20 3d 3d 3d 20 .......if.($this->last_stmt.===.
31240 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 false).{.............return.$thi
31260 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 s->oci8RaiseError();.........}..
31280 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 4f 43 49 52 6f 77 43 6f 75 6e 74 28 24 74 .......$result.=.@OCIRowCount($t
312a0 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 his->last_stmt);.........if.($re
312c0 73 75 6c 74 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 sult.===.false).{.............re
312e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 24 74 68 69 73 turn.$this->oci8RaiseError($this
31300 2d 3e 6c 61 73 74 5f 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ->last_stmt);.........}.........
31320 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d return.$result;.....}......//.}}
31340 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6d 6f 64 69 66 79 51 75 65 72 79 28 29 0a 0a 20 20 20 20 }.....//.{{{.modifyQuery()......
31360 66 75 6e 63 74 69 6f 6e 20 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 function.modifyQuery($query)....
31380 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 22 53 45 4c 45 43 54 20 32 2b 32 22 20 6d 75 73 74 20 .{.........//."SELECT.2+2".must.
313a0 62 65 20 22 53 45 4c 45 43 54 20 32 2b 32 20 46 52 4f 4d 20 64 75 61 6c 22 20 69 6e 20 4f 72 61 be."SELECT.2+2.FROM.dual".in.Ora
313c0 63 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 cle.........if.(preg_match('/^\s
313e0 2a 53 45 4c 45 43 54 2f 69 27 2c 20 24 71 75 65 72 79 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 *SELECT/i',.$query).&&..........
31400 20 20 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5c 73 46 52 4f 4d 5c 73 2f 69 27 2c 20 24 71 ...!preg_match('/\sFROM\s/i',.$q
31420 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 2e 3d 20 22 uery)).{.............$query..=."
31440 20 46 52 4f 4d 20 64 75 61 6c 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 .FROM.dual";.........}.........r
31460 65 74 75 72 6e 20 24 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a eturn.$query;.....}......//.}}}.
31480 20 20 20 20 2f 2f 20 7b 7b 7b 20 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 29 0a 0a 20 ....//.{{{.modifyLimitQuery()...
314a0 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 45 6d 75 6c 61 74 65 20 74 68 65 20 72 6f 77 20 6c 69 6d .../**.....*.Emulate.the.row.lim
314c0 69 74 20 73 75 70 70 6f 72 74 20 61 6c 74 65 72 69 6e 67 20 74 68 65 20 71 75 65 72 79 0a 20 20 it.support.altering.the.query...
314e0 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 72 79 20 54 ..*.....*.@param.string.$query.T
31500 68 65 20 71 75 65 72 79 20 74 6f 20 74 72 65 61 74 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 he.query.to.treat.....*.@param.i
31520 6e 74 20 20 20 20 24 66 72 6f 6d 20 20 54 68 65 20 72 6f 77 20 74 6f 20 73 74 61 72 74 20 74 6f nt....$from..The.row.to.start.to
31540 20 66 65 74 63 68 20 66 72 6f 6d 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 .fetch.from.....*.@param.int....
31560 24 63 6f 75 6e 74 20 54 68 65 20 6f 66 66 73 65 74 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 $count.The.offset.....*.@return.
31580 73 74 72 69 6e 67 20 54 68 65 20 6d 6f 64 69 66 69 65 64 20 71 75 65 72 79 0a 20 20 20 20 2a 0a string.The.modified.query.....*.
315a0 20 20 20 20 2a 20 40 61 75 74 68 6f 72 20 54 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 20 3c 63 6f 78 ....*.@author.Tomas.V.V.Cox.<cox
315c0 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f @idecnet.com>.....*/.....functio
315e0 6e 20 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 66 72 6f 6d n.modifyLimitQuery($query,.$from
31600 2c 20 24 63 6f 75 6e 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 4c 65 74 20 4f ,.$count).....{.........//.Let.O
31620 72 61 63 6c 65 20 72 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6c racle.return.the.name.of.the.col
31640 75 6d 6e 73 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 64 69 6e umns.instead.of.........//.codin
31660 67 20 61 20 22 68 6f 6d 65 22 20 53 51 4c 20 70 61 72 73 65 72 0a 20 20 20 20 20 20 20 20 24 71 g.a."home".SQL.parser.........$q
31680 5f 66 69 65 6c 64 73 20 3d 20 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 28 24 71 75 65 72 79 _fields.=."SELECT.*.FROM.($query
316a0 29 20 57 48 45 52 45 20 4e 55 4c 4c 20 3d 20 4e 55 4c 4c 22 3b 0a 20 20 20 20 20 20 20 20 69 66 ).WHERE.NULL.=.NULL";.........if
316c0 20 28 21 24 72 65 73 75 6c 74 20 3d 20 4f 43 49 50 61 72 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e .(!$result.=.OCIParse($this->con
316e0 6e 65 63 74 69 6f 6e 2c 20 24 71 5f 66 69 65 6c 64 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 nection,.$q_fields)).{..........
31700 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 ...return.$this->oci8RaiseError(
31720 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 4f 43 49 45 78 65 );.........}.........if.(!OCIExe
31740 63 75 74 65 28 24 72 65 73 75 6c 74 2c 20 4f 43 49 5f 44 45 46 41 55 4c 54 29 29 20 7b 0a 20 20 cute($result,.OCI_DEFAULT)).{...
31760 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 ..........return.$this->oci8Rais
31780 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 eError($result);.........}......
317a0 20 20 20 24 6e 63 6f 6c 73 20 3d 20 4f 43 49 4e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 3b ...$ncols.=.OCINumCols($result);
317c0 0a 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 .........$cols..=.array();......
317e0 20 20 20 66 6f 72 20 28 20 24 69 20 3d 20 31 3b 20 24 69 20 3c 3d 20 24 6e 63 6f 6c 73 3b 20 24 ...for.(.$i.=.1;.$i.<=.$ncols;.$
31800 69 2b 2b 20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 73 5b 5d 20 3d 20 4f 43 i++.).{.............$cols[].=.OC
31820 49 43 6f 6c 75 6d 6e 4e 61 6d 65 28 24 72 65 73 75 6c 74 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 IColumnName($result,.$i);.......
31840 20 20 7d 0a 20 20 20 20 20 20 20 20 24 66 69 65 6c 64 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c ..}.........$fields.=.implode(',
31860 20 27 2c 20 24 63 6f 6c 73 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 20 54 65 73 74 20 .',.$cols);.........//.XXX.Test.
31880 74 68 61 74 20 28 74 69 70 20 62 79 20 4a 6f 68 6e 20 4c 69 6d 29 0a 20 20 20 20 20 20 20 20 2f that.(tip.by.John.Lim)........./
318a0 2f 69 66 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 53 45 4c 45 43 54 5c 73 2b 2f 69 /if(preg_match('/^\s*SELECT\s+/i
318c0 73 27 2c 20 24 71 75 65 72 79 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 2f s',.$query,.$match)).{........./
318e0 2f 20 20 20 20 2f 2f 20 49 6e 74 72 6f 64 75 63 65 20 74 68 65 20 46 49 52 53 54 5f 52 4f 57 53 /....//.Introduce.the.FIRST_ROWS
31900 20 4f 72 61 63 6c 65 20 71 75 65 72 79 20 6f 70 74 69 6d 69 7a 65 72 0a 20 20 20 20 20 20 20 20 .Oracle.query.optimizer.........
31920 2f 2f 20 20 20 20 24 71 75 65 72 79 20 3d 20 73 75 62 73 74 72 28 24 71 75 65 72 79 2c 20 73 74 //....$query.=.substr($query,.st
31940 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 2c 20 73 74 72 6c 65 6e 28 24 71 75 65 72 79 29 29 rlen($match[0]),.strlen($query))
31960 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 24 71 75 65 72 79 20 3d 20 22 53 45 4c 45 43 54 ;.........//....$query.=."SELECT
31980 20 2f 2a 20 2b 46 49 52 53 54 5f 52 4f 57 53 20 2a 2f 20 22 20 2e 20 24 71 75 65 72 79 3b 0a 20 ./*.+FIRST_ROWS.*/."...$query;..
319a0 20 20 20 20 20 20 20 2f 2f 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6e 73 74 72 75 63 74 .......//}..........//.Construct
319c0 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 20 20 20 20 2f 2f 20 6d 6f 72 65 20 61 74 3a 20 68 .the.query.........//.more.at:.h
319e0 74 74 70 3a 2f 2f 6d 61 72 63 2e 74 68 65 61 69 6d 73 67 72 6f 75 70 2e 63 6f 6d 2f 3f 6c 3d 70 ttp://marc.theaimsgroup.com/?l=p
31a00 68 70 2d 64 62 26 6d 3d 39 39 38 33 31 39 35 38 31 30 31 32 31 32 26 77 3d 32 0a 20 20 20 20 20 hp-db&m=99831958101212&w=2......
31a20 20 20 20 2f 2f 20 50 65 72 68 61 70 73 20 74 68 69 73 20 63 6f 75 6c 64 20 62 65 20 6f 70 74 69 ...//.Perhaps.this.could.be.opti
31a40 6d 69 7a 65 64 20 77 69 74 68 20 74 68 65 20 75 73 65 20 6f 66 20 55 6e 69 6f 6e 73 0a 20 20 20 mized.with.the.use.of.Unions....
31a60 20 20 20 20 20 24 66 72 6f 6d 20 2b 3d 20 31 3b 20 2f 2f 20 69 6e 20 4f 72 61 63 6c 65 20 72 6f .....$from.+=.1;.//.in.Oracle.ro
31a80 77 6e 75 6d 20 73 74 61 72 74 73 20 61 74 20 31 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 wnum.starts.at.1.........$query.
31aa0 3d 20 22 53 45 4c 45 43 54 20 24 66 69 65 6c 64 73 20 46 52 4f 4d 22 2e 0a 20 20 20 20 20 20 20 =."SELECT.$fields.FROM".........
31ac0 20 20 20 20 20 20 20 20 20 20 22 20 20 28 53 45 4c 45 43 54 20 72 6f 77 6e 75 6d 20 61 73 20 6c .........."..(SELECT.rownum.as.l
31ae0 69 6e 65 6e 75 6d 2c 20 24 66 69 65 6c 64 73 20 46 52 4f 4d 22 2e 0a 20 20 20 20 20 20 20 20 20 inenum,.$fields.FROM"...........
31b00 20 20 20 20 20 20 20 20 22 20 20 20 20 20 20 28 24 71 75 65 72 79 29 22 2e 0a 20 20 20 20 20 20 ........"......($query)"........
31b20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 57 48 45 52 45 20 72 6f 77 6e 75 6d 20 3c 3d 20 22 2e ..........."..WHERE.rownum.<=.".
31b40 20 28 24 66 72 6f 6d 20 2b 20 24 63 6f 75 6e 74 29 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .($from.+.$count)...............
31b60 20 20 20 20 20 22 29 20 57 48 45 52 45 20 6c 69 6e 65 6e 75 6d 20 3e 3d 20 24 66 72 6f 6d 22 3b .....").WHERE.linenum.>=.$from";
31b80 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a 20 .........return.$query;.....}...
31ba0 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 49 64 28 29 0a 0a 20 ...//.}}}.....//.{{{.nextId()...
31bc0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 .../**......*.Get.the.next.value
31be0 20 69 6e 20 61 20 73 65 71 75 65 6e 63 65 2e 20 20 57 65 20 65 6d 75 6c 61 74 65 20 73 65 71 75 .in.a.sequence...We.emulate.sequ
31c00 65 6e 63 65 73 0a 20 20 20 20 20 2a 20 66 6f 72 20 4d 79 53 51 4c 2e 20 20 57 69 6c 6c 20 63 72 ences......*.for.MySQL...Will.cr
31c20 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 eate.the.sequence.if.it.does.not
31c40 20 65 78 69 73 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 .exist.......*......*.@access.pu
31c60 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 73 65 71 5f 6e blic......*......*.@param.$seq_n
31c80 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 ame.the.name.of.the.sequence....
31ca0 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 6f 6e 64 65 6d 61 6e 64 20 77 68 65 74 ..*......*.@param.$ondemand.whet
31cc0 68 65 72 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 74 61 62 6c 65 her.to.create.the.sequence.table
31ce0 20 6f 6e 20 64 65 6d 61 6e 64 0a 20 20 20 20 20 2a 20 28 64 65 66 61 75 6c 74 20 69 73 20 74 72 .on.demand......*.(default.is.tr
31d00 75 65 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 20 73 65 71 75 ue)......*......*.@return.a.sequ
31d20 65 6e 63 65 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 0a 20 20 20 20 ence.integer,.or.a.DB.error.....
31d40 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 24 73 65 71 5f 6e 61 6d .*/.....function.nextId($seq_nam
31d60 65 2c 20 24 6f 6e 64 65 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 e,.$ondemand.=.true).....{......
31d80 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 ...$seqname.=.$this->getSequence
31da0 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 Name($seq_name);.........$repeat
31dc0 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 .=.0;.........do.{.............$
31de0 74 68 69 73 2d 3e 65 78 70 65 63 74 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 this->expectError(DB_ERROR_NOSUC
31e00 48 54 41 42 4c 45 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 HTABLE);.............$result.=.$
31e20 74 68 69 73 2d 3e 71 75 65 72 79 28 22 53 45 4c 45 43 54 20 24 7b 73 65 71 6e 61 6d 65 7d 2e 6e this->query("SELECT.${seqname}.n
31e40 65 78 74 76 61 6c 20 46 52 4f 4d 20 64 75 61 6c 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 extval.FROM.dual");.............
31e60 24 74 68 69 73 2d 3e 70 6f 70 45 78 70 65 63 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $this->popExpect();.............
31e80 69 66 20 28 24 6f 6e 64 65 6d 61 6e 64 20 26 26 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 if.($ondemand.&&.DB::isError($re
31ea0 73 75 6c 74 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 sult).&&.................$result
31ec0 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 ->getCode().==.DB_ERROR_NOSUCHTA
31ee0 42 4c 45 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 74 20 3d BLE).{.................$repeat.=
31f00 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 .1;.................$result.=.$t
31f20 68 69 73 2d 3e 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a his->createSequence($seq_name);.
31f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 ................if.(DB::isError(
31f60 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $result)).{.....................
31f80 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 return.$this->raiseError($result
31fa0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 );.................}............
31fc0 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 65 61 .}.else.{.................$repea
31fe0 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 77 t.=.0;.............}.........}.w
32000 68 69 6c 65 20 28 24 72 65 70 65 61 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a hile.($repeat);.........if.(DB::
32020 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 isError($result)).{.............
32040 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 72 65 73 75 6c 74 return.$this->raiseError($result
32060 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 24 72 65 73 );.........}.........$arr.=.$res
32080 75 6c 74 2d 3e 66 65 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 ult->fetchRow(DB_FETCHMODE_ORDER
320a0 45 44 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 5b 30 5d 3b 0a 20 20 20 ED);.........return.$arr[0];....
320c0 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 65 .}......//.}}}.....//.{{{.create
320e0 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 Sequence()......function.createS
32100 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 equence($seq_name).....{........
32120 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 .$seqname.=.$this->getSequenceNa
32140 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 me($seq_name);.........return.$t
32160 68 69 73 2d 3e 71 75 65 72 79 28 22 43 52 45 41 54 45 20 53 45 51 55 45 4e 43 45 20 24 7b 73 65 his->query("CREATE.SEQUENCE.${se
32180 71 6e 61 6d 65 7d 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 qname}");.....}......//.}}}.....
321a0 2f 2f 20 7b 7b 7b 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 //.{{{.dropSequence()......funct
321c0 69 6f 6e 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 ion.dropSequence($seq_name).....
321e0 7b 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 {.........$seqname.=.$this->getS
32200 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 equenceName($seq_name);.........
32220 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 44 52 4f 50 20 53 45 51 55 45 4e return.$this->query("DROP.SEQUEN
32240 43 45 20 24 7b 73 65 71 6e 61 6d 65 7d 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d CE.${seqname}");.....}......//.}
32260 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 29 0a 0a }}.....//.{{{.oci8RaiseError()..
32280 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 ....function.oci8RaiseError($err
322a0 6e 6f 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 no.=.null).....{.........if.($er
322c0 72 6e 6f 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 rno.===.null).{.............$err
322e0 6f 72 20 3d 20 40 4f 43 49 45 72 72 6f 72 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e or.=.@OCIError($this->connection
32300 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 );.............return.$this->rai
32320 73 65 45 72 72 6f 72 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 24 65 72 72 6f 72 5b seError($this->errorCode($error[
32340 27 63 6f 64 65 27 5d 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'code']),.......................
32360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c ...............null,.null,.null,
32380 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 .$error['message']);.........}.e
323a0 6c 73 65 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 65 72 72 6e 6f 29 29 20 7b 0a 20 20 lseif.(is_resource($errno)).{...
323c0 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 3d 20 40 4f 43 49 45 72 72 6f 72 28 24 65 72 ..........$error.=.@OCIError($er
323e0 72 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e rno);.............return.$this->
32400 72 61 69 73 65 45 72 72 6f 72 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 24 65 72 72 raiseError($this->errorCode($err
32420 6f 72 5b 27 63 6f 64 65 27 5d 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or['code']),....................
32440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 ..................null,.null,.nu
32460 6c 6c 2c 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 ll,.$error['message']);.........
32480 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 }.........return.$this->raiseErr
324a0 6f 72 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 24 65 72 72 6e 6f 29 29 3b 0a 20 20 or($this->errorCode($errno));...
324c0 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 ..}......//.}}}.....//.{{{.getSp
324e0 65 63 69 61 6c 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 ecialQuery()....../**.....*.Retu
32500 72 6e 73 20 74 68 65 20 71 75 65 72 79 20 6e 65 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 rns.the.query.needed.to.get.some
32520 20 62 61 63 6b 65 6e 64 20 69 6e 66 6f 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e .backend.info.....*.@param.strin
32540 67 20 24 74 79 70 65 20 57 68 61 74 20 6b 69 6e 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 g.$type.What.kind.of.info.you.wa
32560 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 nt.to.retrieve.....*.@return.str
32580 69 6e 67 20 54 68 65 20 53 51 4c 20 71 75 65 72 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a ing.The.SQL.query.string.....*/.
325a0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 ....function.getSpecialQuery($ty
325c0 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 pe).....{.........switch.($type)
325e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 .{.............case.'tables':...
32600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 53 45 4c 45 43 54 20 74 61 62 ..............$sql.=."SELECT.tab
32620 6c 65 5f 6e 61 6d 65 20 46 52 4f 4d 20 75 73 65 72 5f 74 61 62 6c 65 73 22 3b 0a 20 20 20 20 20 le_name.FROM.user_tables";......
32640 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 ...........break;.............de
32660 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 fault:.................return.nu
32680 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 71 ll;.........}.........return.$sq
326a0 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 l;.....}......//.}}}......functi
326c0 6f 6e 20 74 61 62 6c 65 49 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 on.tableInfo($result,.$mode.=.nu
326e0 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 ll).....{.........$count.=.0;...
32700 20 20 20 20 20 20 24 72 65 73 20 20 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 ......$res...=.array();.........
32720 2f 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 24 6d 6f 64 65 /*..........*.depending.on.$mode
32740 2c 20 6d 65 74 61 64 61 74 61 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ,.metadata.returns.the.following
32760 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d .values:..........*..........*.-
32780 20 6d 6f 64 65 20 69 73 20 66 61 6c 73 65 20 28 64 65 66 61 75 6c 74 29 3a 0a 20 20 20 20 20 20 .mode.is.false.(default):.......
327a0 20 20 20 2a 20 24 72 65 73 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 ...*.$res[]:..........*...[0]["t
327c0 61 62 6c 65 22 5d 20 20 20 20 20 20 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 able"].......table.name.........
327e0 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 20 20 20 20 20 66 69 65 6c 64 20 6e 61 .*...[0]["name"]........field.na
32800 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 5d 20 20 20 20 20 me..........*...[0]["type"].....
32820 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 ...field.type..........*...[0]["
32840 6c 65 6e 22 5d 20 20 20 20 20 20 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 len"].........field.length......
32860 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 75 6c 6c 61 62 6c 65 22 5d 20 20 20 20 66 69 65 6c 64 ....*...[0]["nullable"]....field
32880 20 63 61 6e 20 62 65 20 6e 75 6c 6c 20 28 62 6f 6f 6c 65 61 6e 29 0a 20 20 20 20 20 20 20 20 20 .can.be.null.(boolean)..........
328a0 2a 20 20 20 5b 30 5d 5b 22 66 6f 72 6d 61 74 22 5d 20 20 20 20 20 20 66 69 65 6c 64 20 70 72 65 *...[0]["format"]......field.pre
328c0 63 69 73 69 6f 6e 20 69 66 20 4e 55 4d 42 45 52 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 cision.if.NUMBER..........*...[0
328e0 5d 5b 22 64 65 66 61 75 6c 74 22 5d 20 20 20 20 20 66 69 65 6c 64 20 64 65 66 61 75 6c 74 20 76 ]["default"].....field.default.v
32900 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 alue..........*..........*.-.mod
32920 65 20 69 73 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 e.is.DB_TABLEINFO_ORDER.........
32940 20 2a 20 24 72 65 73 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6e 75 6d 5f 66 69 .*.$res[]:..........*...["num_fi
32960 65 6c 64 73 22 5d 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 65 6c 64 73 0a 20 20 20 20 elds"].....number.of.fields.....
32980 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 20 20 20 20 20 74 61 62 6c .....*...[0]["table"].......tabl
329a0 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 e.name..........*...[0]["name"].
329c0 20 20 20 20 20 20 20 66 69 65 6c 64 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b .......field.name..........*...[
329e0 30 5d 5b 22 74 79 70 65 22 5d 20 20 20 20 20 20 20 20 66 69 65 6c 64 20 74 79 70 65 0a 20 20 20 0]["type"]........field.type....
32a00 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6c 65 6e 22 5d 20 20 20 20 20 20 20 20 20 66 69 65 ......*...[0]["len"].........fie
32a20 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 75 6c 6c ld.length..........*...[0]["null
32a40 61 62 6c 65 22 5d 20 20 20 20 66 69 65 6c 64 20 63 61 6e 20 62 65 20 6e 75 6c 6c 20 28 62 6f 6f able"]....field.can.be.null.(boo
32a60 6c 65 61 6e 29 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 66 6f 72 6d 61 74 22 5d lean)..........*...[0]["format"]
32a80 20 20 20 20 20 20 66 69 65 6c 64 20 70 72 65 63 69 73 69 6f 6e 20 69 66 20 4e 55 4d 42 45 52 0a ......field.precision.if.NUMBER.
32aa0 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 64 65 66 61 75 6c 74 22 5d 20 20 20 20 20 .........*...[0]["default"].....
32ac0 66 69 65 6c 64 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 field.default.value..........*..
32ae0 20 5b 27 6f 72 64 65 72 27 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d 20 69 6e 64 65 78 20 6f 66 20 .['order'][field.name].index.of.
32b00 66 69 65 6c 64 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 field.named."field.name"........
32b20 20 20 2a 20 20 20 54 68 65 20 6c 61 73 74 20 6f 6e 65 20 69 73 20 75 73 65 64 2c 20 69 66 20 79 ..*...The.last.one.is.used,.if.y
32b40 6f 75 20 68 61 76 65 20 61 20 66 69 65 6c 64 20 6e 61 6d 65 2c 20 62 75 74 20 6e 6f 20 69 6e 64 ou.have.a.field.name,.but.no.ind
32b60 65 78 2e 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 65 73 74 3a 20 20 69 66 20 28 69 73 73 65 ex...........*...Test:..if.(isse
32b80 74 28 24 72 65 73 75 6c 74 5b 27 6f 72 64 65 72 27 5d 5b 27 6d 79 66 69 65 6c 64 27 5d 29 29 20 t($result['order']['myfield'])).
32ba0 7b 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f {..............*..........*.-.mo
32bc0 64 65 20 69 73 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 0a 20 20 de.is.DB_TABLEINFO_ORDERTABLE...
32be0 20 20 20 20 20 20 20 2a 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 2e 20 62 .......*....the.same.as.above..b
32c00 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6f ut.additionally..........*...["o
32c20 72 64 65 72 74 61 62 6c 65 22 5d 5b 74 61 62 6c 65 20 6e 61 6d 65 5d 5b 66 69 65 6c 64 20 6e 61 rdertable"][table.name][field.na
32c40 6d 65 5d 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 me].index.of.field..........*...
32c60 20 20 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 20 20 2a ...named."field.name"..........*
32c80 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 68 69 73 20 69 73 2c 20 62 65 63 61 75 73 ..........*......this.is,.becaus
32ca0 65 20 69 66 20 79 6f 75 20 68 61 76 65 20 66 69 65 6c 64 73 20 66 72 6f 6d 20 64 69 66 66 65 72 e.if.you.have.fields.from.differ
32cc0 65 6e 74 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 61 62 6c 65 73 20 77 69 74 68 20 ent..........*......tables.with.
32ce0 74 68 65 20 73 61 6d 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 2a 20 74 68 65 79 20 6f 76 65 72 72 the.same.field.name.*.they.overr
32d00 69 64 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 6f 74 68 65 72 20 77 ide.each..........*......other.w
32d20 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 20 ith.DB_TABLEINFO_ORDER..........
32d40 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 79 6f 75 20 63 61 6e 20 63 6f 6d 62 69 6e *..........*......you.can.combin
32d60 65 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 61 6e 64 0a 20 20 20 20 20 20 20 e.DB_TABLEINFO_ORDER.and........
32d80 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 ..*......DB_TABLEINFO_ORDERTABLE
32da0 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 7c 0a 20 20 20 20 20 .with.DB_TABLEINFO_ORDER.|......
32dc0 20 20 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 ....*......DB_TABLEINFO_ORDERTAB
32de0 4c 45 20 2a 20 6f 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 46 55 4c 4c 0a 20 LE.*.or.with.DB_TABLEINFO_FULL..
32e00 20 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 24 72 65 73 75 6c ........*/..........//.if.$resul
32e20 74 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 77 65 20 63 6f 6c 6c 65 63 74 20 69 6e 66 6f 20 66 t.is.a.string,.we.collect.info.f
32e40 6f 72 20 61 20 74 61 62 6c 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 73 or.a.table.only.........if.(is_s
32e60 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 tring($result)).{.............$r
32e80 65 73 75 6c 74 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 esult.=.strtoupper($result);....
32ea0 20 20 20 20 20 20 20 20 20 24 71 5f 66 69 65 6c 64 73 20 3d 20 22 73 65 6c 65 63 74 20 63 6f 6c .........$q_fields.=."select.col
32ec0 75 6d 6e 5f 6e 61 6d 65 2c 20 64 61 74 61 5f 74 79 70 65 2c 20 64 61 74 61 5f 6c 65 6e 67 74 68 umn_name,.data_type,.data_length
32ee0 2c 20 64 61 74 61 5f 70 72 65 63 69 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.data_precision,...............
32f00 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 61 62 6c 65 2c 20 64 61 74 61 5f 64 65 66 61 75 6c ...........nullable,.data_defaul
32f20 74 20 66 72 6f 6d 20 75 73 65 72 5f 74 61 62 5f 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 20 20 20 t.from.user_tab_columns.........
32f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 72 65 20 74 61 62 6c 65 5f 6e 61 6d .................where.table_nam
32f60 65 3d 27 24 72 65 73 75 6c 74 27 20 6f 72 64 65 72 20 62 79 20 63 6f 6c 75 6d 6e 5f 69 64 22 3b e='$result'.order.by.column_id";
32f80 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 73 74 6d 74 20 3d 20 4f 43 49 50 61 72 .............if.(!$stmt.=.OCIPar
32fa0 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 71 5f 66 69 65 6c 64 73 29 se($this->connection,.$q_fields)
32fc0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 ).{.................return.$this
32fe0 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->oci8RaiseError();.............
33000 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 4f 43 49 45 78 65 63 75 74 65 28 24 73 }.............if.(!OCIExecute($s
33020 74 6d 74 2c 20 4f 43 49 5f 44 45 46 41 55 4c 54 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 tmt,.OCI_DEFAULT)).{............
33040 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f .....return.$this->oci8RaiseErro
33060 72 28 24 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 r($stmt);.............}.........
33080 20 20 20 20 77 68 69 6c 65 20 28 4f 43 49 46 65 74 63 68 28 24 73 74 6d 74 29 29 20 7b 0a 20 20 ....while.(OCIFetch($stmt)).{...
330a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 74 61 62 6c ..............$res[$count]['tabl
330c0 65 27 5d 20 20 20 20 20 20 20 3d 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 e'].......=.$result;............
330e0 20 20 20 20 20 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 6e 61 6d 65 27 5d 20 20 20 20 20 20 20 .....$res[$count]['name'].......
33100 20 3d 20 40 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 .=.@OCIResult($stmt,.1);........
33120 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 74 79 70 65 27 5d 20 20 20 .........$res[$count]['type']...
33140 20 20 20 20 20 3d 20 40 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c 20 32 29 3b 0a 20 20 20 .....=.@OCIResult($stmt,.2);....
33160 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 6c 65 6e 27 5d .............$res[$count]['len']
33180 20 20 20 20 20 20 20 20 20 3d 20 40 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c 20 33 29 3b .........=.@OCIResult($stmt,.3);
331a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 66 .................$res[$count]['f
331c0 6f 72 6d 61 74 27 5d 20 20 20 20 20 20 3d 20 40 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c ormat']......=.@OCIResult($stmt,
331e0 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 63 6f 75 6e 74 .4);.................$res[$count
33200 5d 5b 27 6e 75 6c 6c 61 62 6c 65 27 5d 20 20 20 20 3d 20 28 40 4f 43 49 52 65 73 75 6c 74 28 24 ]['nullable']....=.(@OCIResult($
33220 73 74 6d 74 2c 20 35 29 20 3d 3d 20 27 59 27 29 20 3f 20 74 72 75 65 20 3a 20 66 61 6c 73 65 3b stmt,.5).==.'Y').?.true.:.false;
33240 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 64 .................$res[$count]['d
33260 65 66 61 75 6c 74 27 5d 20 20 20 20 20 3d 20 40 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c efault'].....=.@OCIResult($stmt,
33280 20 36 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 20 26 .6);.................if.($mode.&
332a0 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .DB_TABLEINFO_ORDER).{..........
332c0 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 27 5d 5b 24 72 65 73 5b 24 63 ...........$res['order'][$res[$c
332e0 6f 75 6e 74 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 ount]['name']].=.$count;........
33300 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 .........}.................if.($
33320 6d 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 29 20 mode.&.DB_TABLEINFO_ORDERTABLE).
33340 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 {.....................$res['orde
33360 72 74 61 62 6c 65 27 5d 5b 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 74 61 62 6c 65 27 5d 5d 5b rtable'][$res[$count]['table']][
33380 24 72 65 73 5b 24 63 6f 75 6e 74 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 63 6f 75 6e 74 3b 0a $res[$count]['name']].=.$count;.
333a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
333c0 20 20 24 63 6f 75 6e 74 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..$count++;.............}.......
333e0 20 20 20 20 20 20 24 72 65 73 5b 27 6e 75 6d 5f 66 69 65 6c 64 73 27 5d 20 3d 20 24 63 6f 75 6e ......$res['num_fields'].=.$coun
33400 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 40 4f 43 49 46 72 65 65 53 74 61 74 65 6d 65 6e 74 t;.............@OCIFreeStatement
33420 28 24 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 65 6c 73 ($stmt);.........}.else.{.//.els
33440 65 20 77 65 20 77 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 72 65 e.we.want.information.about.a.re
33460 73 75 6c 74 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 75 6c 74 20 sultset.............if.($result.
33480 3d 3d 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 73 74 6d 74 29 20 7b 0a 20 20 20 20 20 20 20 20 ===.$this->last_stmt).{.........
334a0 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 40 4f 43 49 4e 75 6d 43 6f 6c 73 28 24 72 65 ........$count.=.@OCINumCols($re
334c0 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 3d 30 sult);.................for.($i=0
334e0 3b 20 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ;.$i<$count;.$i++).{............
33500 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 20 20 3d 20 40 4f 43 .........$res[$i]['name']..=.@OC
33520 49 43 6f 6c 75 6d 6e 4e 61 6d 65 28 24 72 65 73 75 6c 74 2c 20 24 69 2b 31 29 3b 0a 20 20 20 20 IColumnName($result,.$i+1);.....
33540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 79 70 65 27 5d ................$res[$i]['type']
33560 20 20 3d 20 40 4f 43 49 43 6f 6c 75 6d 6e 54 79 70 65 28 24 72 65 73 75 6c 74 2c 20 24 69 2b 31 ..=.@OCIColumnType($result,.$i+1
33580 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b );.....................$res[$i][
335a0 27 6c 65 6e 27 5d 20 20 20 3d 20 40 4f 43 49 43 6f 6c 75 6d 6e 53 69 7a 65 28 24 72 65 73 75 6c 'len']...=.@OCIColumnSize($resul
335c0 74 2c 20 24 69 2b 31 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 t,.$i+1);......................$
335e0 71 5f 66 69 65 6c 64 73 20 3d 20 22 73 65 6c 65 63 74 20 74 61 62 6c 65 5f 6e 61 6d 65 2c 20 64 q_fields.=."select.table_name,.d
33600 61 74 61 5f 70 72 65 63 69 73 69 6f 6e 2c 20 6e 75 6c 6c 61 62 6c 65 2c 20 64 61 74 61 5f 64 65 ata_precision,.nullable,.data_de
33620 66 61 75 6c 74 20 66 72 6f 6d 20 75 73 65 72 5f 74 61 62 5f 63 6f 6c 75 6d 6e 73 20 77 68 65 72 fault.from.user_tab_columns.wher
33640 65 20 63 6f 6c 75 6d 6e 5f 6e 61 6d 65 3d 27 22 2e 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 e.column_name='".$res[$i]['name'
33660 5d 2e 22 27 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 ]."'";.....................if.(!
33680 24 73 74 6d 74 20 3d 20 4f 43 49 50 61 72 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 $stmt.=.OCIParse($this->connecti
336a0 6f 6e 2c 20 24 71 5f 66 69 65 6c 64 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on,.$q_fields)).{...............
336c0 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 63 69 38 52 61 69 73 ..........return.$this->oci8Rais
336e0 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a eError();.....................}.
33700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 4f 43 49 45 78 65 63 ....................if.(!OCIExec
33720 75 74 65 28 24 73 74 6d 74 2c 20 4f 43 49 5f 44 45 46 41 55 4c 54 29 29 20 7b 0a 20 20 20 20 20 ute($stmt,.OCI_DEFAULT)).{......
33740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d ...................return.$this-
33760 3e 6f 63 69 38 52 61 69 73 65 45 72 72 6f 72 28 24 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 >oci8RaiseError($stmt);.........
33780 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............}...................
337a0 20 20 4f 43 49 46 65 74 63 68 28 24 73 74 6d 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..OCIFetch($stmt);..............
337c0 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 20 20 20 20 20 20 20 3d .......$res[$i]['table'].......=
337e0 20 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 .OCIResult($stmt,.1);...........
33800 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 66 6f 72 6d 61 74 27 5d 20 20 20 20 ..........$res[$i]['format']....
33820 20 20 3d 20 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 ..=.OCIResult($stmt,.2);........
33840 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6e 75 6c 6c 61 62 6c 65 27 .............$res[$i]['nullable'
33860 5d 20 20 20 20 3d 20 28 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c 20 33 29 20 3d 3d 20 27 ]....=.(OCIResult($stmt,.3).==.'
33880 59 27 29 20 3f 20 74 72 75 65 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 Y').?.true.:.false;.............
338a0 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 64 65 66 61 75 6c 74 27 5d 20 20 20 20 20 ........$res[$i]['default'].....
338c0 3d 20 4f 43 49 52 65 73 75 6c 74 28 24 73 74 6d 74 2c 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 =.OCIResult($stmt,.4);..........
338e0 20 20 20 20 20 20 20 20 20 20 20 4f 43 49 46 72 65 65 53 74 61 74 65 6d 65 6e 74 28 24 73 74 6d ...........OCIFreeStatement($stm
33900 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f t);......................if.($mo
33920 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 20 7b 0a 20 20 20 20 20 de.&.DB_TABLEINFO_ORDER).{......
33940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 27 5d ...................$res['order']
33960 5b 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 [$res[$i]['name']].=.$i;........
33980 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
339a0 20 20 20 69 66 20 28 24 6d 6f 64 65 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 ...if.($mode.&.DB_TABLEINFO_ORDE
339c0 52 54 41 42 4c 45 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RTABLE).{.......................
339e0 20 20 24 72 65 73 5b 27 6f 72 64 65 72 74 61 62 6c 65 27 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 74 ..$res['ordertable'][$res[$i]['t
33a00 61 62 6c 65 27 5d 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a able']][$res[$i]['name']].=.$i;.
33a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
33a40 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6e 75 ......}.................$res['nu
33a60 6d 5f 66 69 65 6c 64 73 27 5d 20 3d 20 24 63 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 m_fields'].=.$count;............
33a80 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ..}.else.{.................retur
33aa0 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 n.$this->raiseError(DB_ERROR_NOT
33ac0 5f 43 41 50 41 42 4c 45 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 _CAPABLE);.............}........
33ae0 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 7d 0a 7d 0a .}.........return.$res;.....}.}.
33b00 2f 2f 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 0a 2f 2f 20 74 61 62 2d 77 69 64 74 68 //.Local.variables:.//.tab-width
33b20 3a 20 34 0a 2f 2f 20 63 2d 62 61 73 69 63 2d 6f 66 66 73 65 74 3a 20 34 0a 2f 2f 20 45 6e 64 3a :.4.//.c-basic-offset:.4.//.End:
33b40 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .?>.............................
33b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c00 44 42 2d 31 2e 33 2f 44 42 2f 6f 64 62 63 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/odbc.php..............
33c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
33c80 20 20 33 33 31 31 31 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 36 31 35 20 00 00 00 00 00 ..33111..7466465701...6615......
33ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33e00 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
33e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
33e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
33e60 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
33e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
33ea0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
33ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
33ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
33f00 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
33f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
33f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
33f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
33f80 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
33fa0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
33fc0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
33fe0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
34000 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
34020 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
34040 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
34060 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
34080 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
340a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
340c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
340e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
34100 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
34120 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
34140 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
34160 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
34180 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
341a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
341c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
341e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 ---+.//.|.Author:.Stig.Bakken.<s
34200 73 62 40 66 61 73 74 2e 6e 6f 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sb@fast.no>.....................
34220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
34240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
34260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
34280 2f 2f 20 24 49 64 3a 20 6f 64 62 63 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f 30 //.$Id:.odbc.php,v.1.3.2002/05/0
342a0 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 62 9.12:29:53.ssb.Exp.$.//.//.Datab
342c0 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 65 20 ase.independent.query.interface.
342e0 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 4f 44 42 43 0a 2f 2f 20 65 78 74 definition.for.PHP's.ODBC.//.ext
34300 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 2f 2f 0a 2f 2f 20 58 58 58 20 6c 65 67 65 6e 64 3a 0a 2f 2f ension..//..//.//.XXX.legend:.//
34320 20 20 4d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 4f 44 42 43 20 65 72 72 6f 72 73 20 63 6f 75 6c 64 ..More.info.on.ODBC.errors.could
34340 20 62 65 20 66 6f 75 6e 64 20 68 65 72 65 3a 0a 2f 2f 20 20 68 74 74 70 3a 2f 2f 6d 73 64 6e 2e .be.found.here:.//..http://msdn.
34360 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 6c 69 62 72 61 72 79 2f 64 65 66 61 75 6c 74 2e 61 73 microsoft.com/library/default.as
34380 70 3f 75 72 6c 3d 2f 6c 69 62 72 61 72 79 2f 65 6e 2d 75 73 2f 74 72 62 6c 73 71 6c 2f 74 72 5f p?url=/library/en-us/trblsql/tr_
343a0 65 72 72 5f 6f 64 62 63 5f 35 73 74 7a 2e 61 73 70 0a 2f 2f 0a 2f 2f 20 58 58 58 20 45 52 52 4f err_odbc_5stz.asp.//.//.XXX.ERRO
343c0 52 4d 53 47 3a 20 54 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 74 68 65 RMSG:.The.error.message.from.the
343e0 20 6f 64 62 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 2f 2f 20 20 20 20 20 20 20 20 .odbc.function.should.//........
34400 20 20 20 20 20 20 20 20 20 62 65 20 72 65 67 69 73 74 65 72 65 64 20 68 65 72 65 2e 0a 2f 2f 0a .........be.registered.here..//.
34420 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 27 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a .require_once.'DB/common.php';..
34440 63 6c 61 73 73 20 44 42 5f 6f 64 62 63 20 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a class.DB_odbc.extends.DB_common.
34460 7b 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 6f 70 65 72 74 69 65 73 0a 0a 20 20 20 20 76 61 72 {.....//.{{{.properties......var
34480 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 .$connection;.....var.$phptype,.
344a0 24 64 62 73 79 6e 74 61 78 3b 0a 20 20 20 20 76 61 72 20 24 72 6f 77 20 3d 20 61 72 72 61 79 28 $dbsyntax;.....var.$row.=.array(
344c0 29 3b 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 );......//.}}}.....//.{{{.constr
344e0 75 63 74 6f 72 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 6f 64 62 63 28 29 0a 20 20 uctor......function.DB_odbc()...
34500 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a ..{.........$this->DB_common();.
34520 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 6f 64 62 63 27 3b ........$this->phptype.=.'odbc';
34540 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 73 71 6c 39 .........$this->dbsyntax.=.'sql9
34560 32 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 72 2';.........$this->features.=.ar
34580 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e 20 74 72 ray(.............'prepare'.=>.tr
345a0 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 ue,.............'pconnect'.=>.tr
345c0 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d ue,.............'transactions'.=
345e0 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 3d 3e 20 >.false,.............'limit'.=>.
34600 27 65 6d 75 6c 61 74 65 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 'emulate'.........);.........$th
34620 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 is->errorcode_map.=.array(......
34640 20 20 20 20 20 20 20 27 30 31 30 30 34 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 54 52 55 4e 43 .......'01004'.=>.DB_ERROR_TRUNC
34660 41 54 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 30 37 30 30 31 27 20 3d 3e 20 44 42 5f ATED,.............'07001'.=>.DB_
34680 45 52 52 4f 52 5f 4d 49 53 4d 41 54 43 48 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 32 31 53 ERROR_MISMATCH,.............'21S
346a0 30 31 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4d 49 53 4d 41 54 43 48 2c 0a 20 20 20 20 20 20 01'.=>.DB_ERROR_MISMATCH,.......
346c0 20 20 20 20 20 20 27 32 31 53 30 32 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4d 49 53 4d 41 54 ......'21S02'.=>.DB_ERROR_MISMAT
346e0 43 48 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 32 32 30 30 33 27 20 3d 3e 20 44 42 5f 45 52 CH,.............'22003'.=>.DB_ER
34700 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e 55 4d 42 45 52 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ROR_INVALID_NUMBER,.............
34720 27 32 32 30 30 38 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 '22008'.=>.DB_ERROR_INVALID_DATE
34740 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 32 32 30 31 32 27 20 3d 3e 20 44 42 5f 45 52 52 4f ,.............'22012'.=>.DB_ERRO
34760 52 5f 44 49 56 5a 45 52 4f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 32 33 30 30 30 27 20 3d R_DIVZERO,.............'23000'.=
34780 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 2c 0a 20 20 20 20 20 20 20 20 20 >.DB_ERROR_CONSTRAINT,..........
347a0 20 20 20 27 32 34 30 30 30 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 2c 0a ...'24000'.=>.DB_ERROR_INVALID,.
347c0 20 20 20 20 20 20 20 20 20 20 20 20 27 33 34 30 30 30 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f ............'34000'.=>.DB_ERROR_
347e0 49 4e 56 41 4c 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 33 37 30 30 30 27 20 3d 3e 20 INVALID,.............'37000'.=>.
34800 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 34 32 DB_ERROR_SYNTAX,.............'42
34820 30 30 30 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 0a 20 20 20 20 20 20 20 000'.=>.DB_ERROR_SYNTAX,........
34840 20 20 20 20 20 27 49 4d 30 30 31 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 55 4e 53 55 50 50 4f .....'IM001'.=>.DB_ERROR_UNSUPPO
34860 52 54 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 53 30 30 30 30 27 20 3d 3e 20 44 42 5f RTED,.............'S0000'.=>.DB_
34880 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 ERROR_NOSUCHTABLE,.............'
348a0 53 30 30 30 31 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 2c 0a 20 20 S0001'.=>.DB_ERROR_NOT_FOUND,...
348c0 20 20 20 20 20 20 20 20 20 20 27 53 30 30 30 32 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f ..........'S0002'.=>.DB_ERROR_NO
348e0 54 5f 46 4f 55 4e 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 53 30 30 31 31 27 20 3d 3e 20 T_FOUND,.............'S0011'.=>.
34900 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 DB_ERROR_ALREADY_EXISTS,........
34920 20 20 20 20 20 27 53 30 30 31 32 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 .....'S0012'.=>.DB_ERROR_NOT_FOU
34940 4e 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 53 30 30 32 31 27 20 3d 3e 20 44 42 5f 45 52 ND,.............'S0021'.=>.DB_ER
34960 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ROR_ALREADY_EXISTS,.............
34980 27 53 30 30 32 32 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 2c 0a 20 'S0022'.=>.DB_ERROR_NOT_FOUND,..
349a0 20 20 20 20 20 20 20 20 20 20 20 27 53 31 30 30 39 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 ...........'S1009'.=>.DB_ERROR_I
349c0 4e 56 41 4c 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 53 31 30 39 30 27 20 3d 3e 20 44 NVALID,.............'S1090'.=>.D
349e0 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 53 31 B_ERROR_INVALID,.............'S1
34a00 43 30 30 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 0a 20 20 20 C00'.=>.DB_ERROR_NOT_CAPABLE....
34a20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f .....);.....}......//.}}}.....//
34a40 20 7b 7b 7b 20 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 .{{{.connect()....../**......*.C
34a60 6f 6e 6e 65 63 74 20 74 6f 20 61 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 6c 6f 67 20 69 6e 20 onnect.to.a.database.and.log.in.
34a80 61 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 as.the.specified.user.......*...
34aa0 20 20 20 2a 20 40 70 61 72 61 6d 20 24 64 73 6e 20 74 68 65 20 64 61 74 61 20 73 6f 75 72 63 65 ...*.@param.$dsn.the.data.source
34ac0 20 6e 61 6d 65 20 28 73 65 65 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 20 66 6f 72 20 73 79 6e 74 .name.(see.DB::parseDSN.for.synt
34ae0 61 78 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 70 65 72 73 69 73 74 65 6e 74 20 28 6f ax)......*.@param.$persistent.(o
34b00 70 74 69 6f 6e 61 6c 29 20 77 68 65 74 68 65 72 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 ptional).whether.the.connection.
34b20 73 68 6f 75 6c 64 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 62 65 20 70 65 72 73 69 73 74 65 should......*........be.persiste
34b40 6e 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f nt......*......*.@return.int.DB_
34b60 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f OK.on.success,.a.DB.error.code.o
34b80 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 n.failure......*/.....function.c
34ba0 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f 2c 20 24 70 65 72 73 69 73 74 65 6e 74 20 3d 20 66 onnect($dsninfo,.$persistent.=.f
34bc0 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 44 42 3a 3a 61 73 73 alse).....{.........if.(!DB::ass
34be0 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 6f 64 62 63 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 ertExtension('odbc'))...........
34c00 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 ..return.$this->raiseError(DB_ER
34c20 52 4f 52 5f 45 58 54 45 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 0a 20 20 20 20 20 ROR_EXTENSION_NOT_FOUND);.......
34c40 20 20 20 24 74 68 69 73 2d 3e 64 73 6e 20 3d 20 24 64 73 6e 69 6e 66 6f 3b 0a 20 20 20 20 20 20 ...$this->dsn.=.$dsninfo;.......
34c60 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 64 73 6e 69 6e 66 6f 5b 27 64 62 73 79 6e 74 61 78 27 ..if.(!empty($dsninfo['dbsyntax'
34c80 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 ])).{.............$this->dbsynta
34ca0 78 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 64 62 73 79 6e 74 61 78 27 5d 3b 0a 20 20 20 20 20 20 x.=.$dsninfo['dbsyntax'];.......
34cc0 20 20 7d 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 64 62 73 79 6e ..}.........switch.($this->dbsyn
34ce0 74 61 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 6f 6c 69 64 27 3a tax).{.............case.'solid':
34d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 .................$this->features
34d20 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 .=.array(.....................'p
34d40 72 65 70 61 72 65 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 repare'.=>.true,................
34d60 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 .....'pconnect'.=>.true,........
34d80 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d 3e 20 74 .............'transactions'.=>.t
34da0 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 rue.................);..........
34dc0 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 5f 64 73 6e 20 3d 20 27 6c 6f 63 61 6c 68 6f 73 74 .......$default_dsn.=.'localhost
34de0 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 ';.................break;.......
34e00 20 20 20 20 20 20 63 61 73 65 20 27 6e 61 76 69 73 69 6f 6e 27 3a 0a 20 20 20 20 20 20 20 20 20 ......case.'navision':..........
34e20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 4e 61 76 69 73 69 6f 6e 20 64 72 69 76 65 72 20 64 6f .......//.the.Navision.driver.do
34e40 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 66 65 74 63 68 20 72 6f 77 20 62 79 20 6e 75 6d 62 65 esn't.support.fetch.row.by.numbe
34e60 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 r.................$this->feature
34e80 73 5b 27 6c 69 6d 69 74 27 5d 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 s['limit'].=.false;.............
34ea0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a ....break;.............default:.
34ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d ................break;.........}
34ee0 0a 20 20 20 20 20 20 20 20 24 64 62 68 6f 73 74 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 .........$dbhost.=.$dsninfo['hos
34f00 74 73 70 65 63 27 5d 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3a tspec'].?.$dsninfo['hostspec'].:
34f20 20 27 6c 6f 63 61 6c 68 6f 73 74 27 3b 0a 20 20 20 20 20 20 20 20 24 75 73 65 72 20 3d 20 24 64 .'localhost';.........$user.=.$d
34f40 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 sninfo['username'];.........$pw.
34f60 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 20 20 20 20 20 20 20 20 =.$dsninfo['password'];.........
34f80 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 28 27 70 63 6f 6e 6e 65 63 74 27 29 29 if.($this->provides('pconnect'))
34fa0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e .{.............$connect_function
34fc0 20 3d 20 24 70 65 72 73 69 73 74 65 6e 74 20 3f 20 27 6f 64 62 63 5f 70 63 6f 6e 6e 65 63 74 27 .=.$persistent.?.'odbc_pconnect'
34fe0 20 3a 20 27 6f 64 62 63 5f 63 6f 6e 6e 65 63 74 27 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 .:.'odbc_connect';.........}.els
35000 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f e.{.............$connect_functio
35020 6e 20 3d 20 27 6f 64 62 63 5f 63 6f 6e 6e 65 63 74 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 n.=.'odbc_connect';.........}...
35040 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e ......$conn.=.@$connect_function
35060 28 24 64 62 68 6f 73 74 2c 20 24 75 73 65 72 2c 20 24 70 77 29 3b 0a 20 20 20 20 20 20 20 20 69 ($dbhost,.$user,.$pw);.........i
35080 66 20 28 21 69 73 5f 72 65 73 6f 75 72 63 65 28 24 63 6f 6e 6e 29 29 20 7b 0a 20 20 20 20 20 20 f.(!is_resource($conn)).{.......
350a0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 ......return.$this->raiseError(D
350c0 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 2c 20 6e 75 6c 6c 2c 20 6e 75 B_ERROR_CONNECT_FAILED,.null,.nu
350e0 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ll,.............................
35100 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4e .............null,.$this->errorN
35120 61 74 69 76 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 ative());.........}.........$thi
35140 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 s->connection.=.$conn;.........r
35160 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 eturn.DB_OK;.....}......//.}}}..
35180 20 20 20 2f 2f 20 7b 7b 7b 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 ...//.{{{.disconnect()......func
351a0 74 69 6f 6e 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 tion.disconnect().....{.........
351c0 24 65 72 72 20 3d 20 40 6f 64 62 63 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 $err.=.@odbc_close($this->connec
351e0 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e tion);.........$this->connection
35200 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 72 72 3b 0a 20 20 .=.null;.........return.$err;...
35220 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 69 6d 70 6c ..}......//.}}}.....//.{{{.simpl
35240 65 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 6e 64 20 61 20 eQuery()....../**......*.Send.a.
35260 71 75 65 72 79 20 74 6f 20 4f 44 42 43 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 query.to.ODBC.and.return.the.res
35280 75 6c 74 73 20 61 73 20 61 20 4f 44 42 43 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 20 69 ults.as.a.ODBC.resource......*.i
352a0 64 65 6e 74 69 66 69 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 dentifier.......*......*.@param.
352c0 24 71 75 65 72 79 20 74 68 65 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 $query.the.SQL.query......*.....
352e0 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 69 64 20 4f .*.@return.int.returns.a.valid.O
35300 44 42 43 20 72 65 73 75 6c 74 20 66 6f 72 20 73 75 63 63 65 73 73 66 75 6c 20 53 45 4c 45 43 54 DBC.result.for.successful.SELECT
35320 0a 20 20 20 20 20 2a 20 71 75 65 72 69 65 73 2c 20 44 42 5f 4f 4b 20 66 6f 72 20 6f 74 68 65 72 ......*.queries,.DB_OK.for.other
35340 20 73 75 63 63 65 73 73 66 75 6c 20 71 75 65 72 69 65 73 2e 20 20 41 20 44 42 20 65 72 72 6f 72 .successful.queries...A.DB.error
35360 20 63 6f 64 65 0a 20 20 20 20 20 2a 20 69 73 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 66 61 69 6c .code......*.is.returned.on.fail
35380 75 72 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 65 ure.......*/.....function.simple
353a0 51 75 65 72 79 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 Query($query).....{.........$thi
353c0 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 s->last_query.=.$query;.........
353e0 24 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 $query.=.$this->modifyQuery($que
35400 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 6f 64 62 63 5f 65 78 65 ry);.........$result.=.@odbc_exe
35420 63 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 71 75 65 72 79 29 3b 0a 20 20 c($this->connection,.$query);...
35440 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ......if.(!$result).{...........
35460 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 64 62 63 52 61 69 73 65 45 72 72 6f 72 28 29 ..return.$this->odbcRaiseError()
35480 3b 20 2f 2f 20 58 58 58 20 45 52 52 4f 52 4d 53 47 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ;.//.XXX.ERRORMSG.........}.....
354a0 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 71 75 65 72 69 65 73 20 74 ....//.Determine.which.queries.t
354c0 68 61 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 61 74 61 2c 20 61 6e 64 20 77 68 69 63 hat.should.return.data,.and.whic
354e0 68 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 65 72 h.........//.should.return.an.er
35500 72 6f 72 20 63 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 ror.code.only..........if.(DB::i
35520 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 sManip($query)).{.............$t
35540 68 69 73 2d 3e 6d 61 6e 69 70 5f 72 65 73 75 6c 74 20 3d 20 24 72 65 73 75 6c 74 3b 20 2f 2f 20 his->manip_result.=.$result;.//.
35560 46 6f 72 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 For.affectedRows().............r
35580 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 eturn.DB_OK;.........}.........$
355a0 74 68 69 73 2d 3e 72 6f 77 5b 24 72 65 73 75 6c 74 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 this->row[$result].=.0;.........
355c0 24 74 68 69 73 2d 3e 6d 61 6e 69 70 5f 72 65 73 75 6c 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 $this->manip_result.=.0;........
355e0 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d .return.$result;.....}......//.}
35600 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 }}.....//.{{{.nextResult()......
35620 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6f 64 62 /**......*.Move.the.internal.odb
35640 63 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 61 c.result.pointer.to.the.next.ava
35660 69 6c 61 62 6c 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 ilable.result......*......*.@par
35680 61 6d 20 61 20 76 61 6c 69 64 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 am.a.valid.fbsql.result.resource
356a0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 ......*......*.@access.public...
356c0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 65 ...*......*.@return.true.if.a.re
356e0 73 75 6c 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 sult.is.available.otherwise.retu
35700 72 6e 20 66 61 6c 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 rn.false......*/.....function.ne
35720 78 74 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 xtResult($result).....{.........
35740 72 65 74 75 72 6e 20 6f 64 62 63 5f 6e 65 78 74 5f 72 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 return.odbc_next_result($result)
35760 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 ;.....}......//.}}}.....//.{{{.f
35780 65 74 63 68 52 6f 77 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 77 etchRow()......function.fetchRow
357a0 28 24 72 65 73 75 6c 74 2c 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d ($result,.$fetchmode.=.DB_FETCHM
357c0 4f 44 45 5f 44 45 46 41 55 4c 54 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b ODE_DEFAULT,.$rownum=null).....{
357e0 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 42 5f 46 45 .........if.($fetchmode.==.DB_FE
35800 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 TCHMODE_DEFAULT).{.............$
35820 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 fetchmode.=.$this->fetchmode;...
35840 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 ......}.........$res.=.$this->fe
35860 74 63 68 49 6e 74 6f 20 28 24 72 65 73 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f tchInto.($result,.$arr,.$fetchmo
35880 64 65 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 73 20 21 de,.$rownum);.........if.($res.!
358a0 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 ==.DB_OK).{.............return.$
358c0 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 res;.........}.........return.$a
358e0 72 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b rr;.....}......//.}}}.....//.{{{
35900 20 66 65 74 63 68 49 6e 74 6f 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 .fetchInto()......function.fetch
35920 49 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 26 24 72 6f 77 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c Into($result,.&$row,.$fetchmode,
35940 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 6f .$rownum=null).....{.........$ro
35960 77 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 6e 75 6d w.=.array();.........if.($rownum
35980 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 6e 75 6d .!==.null).{.............$rownum
359a0 2b 2b 3b 20 2f 2f 20 4f 44 42 43 20 66 69 72 73 74 20 72 6f 77 20 69 73 20 31 0a 20 20 20 20 20 ++;.//.ODBC.first.row.is.1......
359c0 20 20 20 20 20 20 20 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 76 65 72 .......if.(!function_exists('ver
359e0 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 27 29 20 7c 7c 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 sion_compare').||.version_compar
35a00 65 28 70 68 70 76 65 72 73 69 6f 6e 28 29 2c 20 22 34 2e 30 2e 35 22 2c 20 22 6c 74 22 29 29 20 e(phpversion(),."4.0.5",."lt")).
35a20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 6f 64 62 63 5f 66 {.................$cols.=.odbc_f
35a40 65 74 63 68 5f 69 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 2c 20 26 24 72 6f etch_into($result,.$rownum,.&$ro
35a60 77 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 76 65 72 73 69 6f w);.............}.elseif.(versio
35a80 6e 5f 63 6f 6d 70 61 72 65 28 70 68 70 76 65 72 73 69 6f 6e 28 29 2c 20 27 34 2e 32 2e 30 27 2c n_compare(phpversion(),.'4.2.0',
35aa0 20 27 67 65 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 .'ge')).{.................$cols.
35ac0 3d 20 6f 64 62 63 5f 66 65 74 63 68 5f 69 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 24 72 6f 77 2c =.odbc_fetch_into($result,.$row,
35ae0 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a .$rownum);.............}.else.{.
35b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 6f 64 62 63 5f 66 65 74 ................$cols.=.odbc_fet
35b20 63 68 5f 69 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 2c 20 24 72 6f 77 29 3b ch_into($result,.$rownum,.$row);
35b40 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a .............}.........}.else.{.
35b60 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 ............if.(!function_exists
35b80 28 27 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 27 29 20 7c 7c 20 76 65 72 73 69 6f 6e 5f 63 ('version_compare').||.version_c
35ba0 6f 6d 70 61 72 65 28 70 68 70 76 65 72 73 69 6f 6e 28 29 2c 20 22 34 2e 30 2e 35 22 2c 20 22 6c ompare(phpversion(),."4.0.5",."l
35bc0 74 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 6f t")).{.................$cols.=.o
35be0 64 62 63 5f 66 65 74 63 68 5f 69 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 26 24 72 6f 77 29 3b 0a dbc_fetch_into($result,.&$row);.
35c00 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
35c20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 6f 64 62 63 5f 66 65 74 63 68 5f 69 6e 74 6f 28 24 72 65 .....$cols.=.odbc_fetch_into($re
35c40 73 75 6c 74 2c 20 24 72 6f 77 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 sult,.$row);.............}......
35c60 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b 0a 20 20 20 20 ...}..........if.(!$cols).{.....
35c80 20 20 20 20 20 20 20 20 2f 2a 20 58 58 58 20 46 49 58 4d 45 3a 20 64 6f 65 73 6e 27 74 20 77 6f ......../*.XXX.FIXME:.doesn't.wo
35ca0 72 6b 20 77 69 74 68 20 75 6e 69 78 4f 44 42 43 20 61 6e 64 20 65 61 73 79 73 6f 66 74 0a 20 20 rk.with.unixODBC.and.easysoft...
35cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 20 63 6f 72 ........................(get.cor
35ce0 72 75 70 74 65 64 20 24 65 72 72 6e 6f 20 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 rupted.$errno.values)...........
35d00 20 20 69 66 20 28 24 65 72 72 6e 6f 20 3d 20 6f 64 62 63 5f 65 72 72 6f 72 28 24 74 68 69 73 2d ..if.($errno.=.odbc_error($this-
35d20 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >connection)).{.................
35d40 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 29 return.$this->RaiseError($errno)
35d60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ;.............}*/.............re
35d80 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 turn.null;.........}.........if.
35da0 28 24 66 65 74 63 68 6d 6f 64 65 20 21 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 ($fetchmode.!==.DB_FETCHMODE_ORD
35dc0 45 52 45 44 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b ERED).{.............for.($i.=.0;
35de0 20 24 69 20 3c 20 63 6f 75 6e 74 28 24 72 6f 77 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 .$i.<.count($row);.$i++).{......
35e00 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 4e 61 6d 65 20 3d 20 6f 64 62 63 5f 66 69 65 6c 64 ...........$colName.=.odbc_field
35e20 5f 6e 61 6d 65 28 24 72 65 73 75 6c 74 2c 20 24 69 2b 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 _name($result,.$i+1);...........
35e40 20 20 20 20 20 20 24 61 5b 24 63 6f 6c 4e 61 6d 65 5d 20 3d 20 24 72 6f 77 5b 24 69 5d 3b 0a 20 ......$a[$colName].=.$row[$i];..
35e60 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 20 3d 20 ...........}.............$row.=.
35e80 24 61 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f $a;.........}.........return.DB_
35ea0 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b OK;.....}......//.}}}.....//.{{{
35ec0 20 66 72 65 65 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 .freeResult()......function.free
35ee0 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 Result($result).....{.........if
35f00 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 .(is_resource($result)).{.......
35f20 20 20 20 20 20 20 2f 2f 20 41 6c 77 61 79 73 20 72 65 74 75 72 6e 20 74 72 75 65 0a 20 20 20 20 ......//.Always.return.true.....
35f40 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 64 62 63 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 ........return.odbc_free_result(
35f60 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 $result);.........}.........if.(
35f80 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e !isset($this->prepare_tokens[(in
35fa0 74 29 24 72 65 73 75 6c 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 t)$result])).{.............retur
35fc0 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 n.false;.........}.........unset
35fe0 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 ($this->prepare_tokens[(int)$res
36000 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 ult]);.........unset($this->prep
36020 61 72 65 5f 74 79 70 65 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 are_types[(int)$result]);.......
36040 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d ..return.true;.....}......//.}}}
36060 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 43 6f 6c 73 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 .....//.{{{.numCols()......funct
36080 69 6f 6e 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ion.numCols($result).....{......
360a0 20 20 20 24 63 6f 6c 73 20 3d 20 40 6f 64 62 63 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 72 65 73 ...$cols.=.@odbc_num_fields($res
360c0 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b 0a 20 20 20 20 ult);.........if.(!$cols).{.....
360e0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 64 62 63 52 61 69 73 65 45 ........return.$this->odbcRaiseE
36100 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e rror();.........}.........return
36120 20 24 63 6f 6c 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f .$cols;.....}......//.}}}.....//
36140 20 7b 7b 7b 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 .{{{.affectedRows()....../**....
36160 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 .*.Returns.the.number.of.rows.af
36180 66 65 63 74 65 64 20 62 79 20 61 20 6d 61 6e 69 70 75 6c 61 74 69 76 65 20 71 75 65 72 79 0a 20 fected.by.a.manipulative.query..
361a0 20 20 20 2a 20 28 49 4e 53 45 52 54 2c 20 44 45 4c 45 54 45 2c 20 55 50 44 41 54 45 29 0a 20 20 ...*.(INSERT,.DELETE,.UPDATE)...
361c0 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 69 6e 74 20 61 66 66 65 63 74 65 64 20 72 ..*.@return.mixed.int.affected.r
361e0 6f 77 73 2c 20 30 20 77 68 65 6e 20 6e 6f 6e 20 6d 61 6e 69 70 20 71 75 65 72 69 65 73 20 6f 72 ows,.0.when.non.manip.queries.or
36200 0a 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 20 65 72 72 6f 72 20 6f 6e .....*...............DB.error.on
36220 20 65 72 72 6f 72 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 66 66 65 63 .error.....*/.....function.affec
36240 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 tedRows().....{.........if.(empt
36260 79 28 24 74 68 69 73 2d 3e 6d 61 6e 69 70 5f 72 65 73 75 6c 74 29 29 20 7b 20 20 2f 2f 20 49 6e y($this->manip_result)).{..//.In
36280 20 63 61 73 65 20 6f 66 20 53 45 4c 45 43 54 20 73 74 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 .case.of.SELECT.stms............
362a0 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 6e 72 .return.0;.........}.........$nr
362c0 6f 77 73 20 3d 20 6f 64 62 63 5f 6e 75 6d 5f 72 6f 77 73 28 24 74 68 69 73 2d 3e 6d 61 6e 69 70 ows.=.odbc_num_rows($this->manip
362e0 5f 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 72 6f 77 73 20 3d 3d 20 _result);.........if.($nrows.==.
36300 2d 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e -1).{.............return.$this->
36320 6f 64 62 63 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 odbcRaiseError();.........}.....
36340 20 20 20 20 72 65 74 75 72 6e 20 24 6e 72 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f ....return.$nrows;.....}......//
36360 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f .}}}.....//.{{{.numRows()....../
36380 2a 2a 0a 20 20 20 20 20 2a 20 4f 44 42 43 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 73 75 **......*.ODBC.may.or.may.not.su
363a0 70 70 6f 72 74 20 63 6f 75 6e 74 69 6e 67 20 72 6f 77 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c pport.counting.rows.in.the.resul
363c0 74 20 73 65 74 20 6f 66 0a 20 20 20 20 20 2a 20 53 45 4c 45 43 54 73 2e 0a 20 20 20 20 20 2a 0a t.set.of......*.SELECTs.......*.
363e0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 74 68 65 20 6f 64 62 63 20 72 .....*.@param.$result.the.odbc.r
36400 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 68 esult.resource......*.@return.th
36420 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 2c 20 6f 72 20 30 0a 20 20 20 20 20 2a 2f 0a 20 e.number.of.rows,.or.0......*/..
36440 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 ...function.numRows($result)....
36460 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 72 6f 77 73 20 3d 20 6f 64 62 63 5f 6e 75 6d 5f 72 6f 77 .{.........$nrows.=.odbc_num_row
36480 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 72 6f 77 73 20 3d s($result);.........if.($nrows.=
364a0 3d 20 2d 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 =.-1).{.............return.$this
364c0 2d 3e 6f 64 62 63 52 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 55 4e 53 55 50 50 ->odbcRaiseError(DB_ERROR_UNSUPP
364e0 4f 52 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ORTED);.........}.........return
36500 20 24 6e 72 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f .$nrows;.....}......//.}}}...../
36520 2f 20 7b 7b 7b 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 /.{{{.errorNative()....../**....
36540 20 20 2a 20 47 65 74 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 66 ..*.Get.the.native.error.code.of
36560 20 74 68 65 20 6c 61 73 74 20 65 72 72 6f 72 20 28 69 66 20 61 6e 79 29 20 74 68 61 74 0a 20 20 .the.last.error.(if.any).that...
36580 20 20 20 2a 20 6f 63 63 75 72 65 64 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 6e ...*.occured.on.the.current.conn
365a0 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 ection.......*......*.@access.pu
365c0 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 4f blic......*......*.@return.int.O
365e0 44 42 43 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 DBC.error.code......*/......func
36600 74 69 6f 6e 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 tion.errorNative().....{........
36620 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 7c .if.(!isset($this->connection).|
36640 7c 20 21 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e |.!is_resource($this->connection
36660 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 64 62 63 5f 65 72 72 )).{.............return.odbc_err
36680 6f 72 28 29 20 2e 20 27 20 27 20 2e 20 6f 64 62 63 5f 65 72 72 6f 72 6d 73 67 28 29 3b 0a 20 20 or()...'.'...odbc_errormsg();...
366a0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 64 62 63 5f 65 72 72 6f ......}.........return.odbc_erro
366c0 72 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 20 2e 20 27 20 27 20 2e 20 6f 64 62 r($this->connection)...'.'...odb
366e0 63 5f 65 72 72 6f 72 6d 73 67 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 c_errormsg($this->connection);..
36700 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 ...}......//.}}}.....//.{{{.next
36720 49 64 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 65 78 Id()....../**......*.Get.the.nex
36740 74 20 76 61 6c 75 65 20 69 6e 20 61 20 73 65 71 75 65 6e 63 65 2e 20 20 57 65 20 65 6d 75 6c 61 t.value.in.a.sequence...We.emula
36760 74 65 20 73 65 71 75 65 6e 63 65 73 0a 20 20 20 20 20 2a 20 66 6f 72 20 6f 64 62 63 2e 20 57 69 te.sequences......*.for.odbc..Wi
36780 6c 6c 20 63 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 69 66 20 69 74 20 64 6f 65 ll.create.the.sequence.if.it.doe
367a0 73 20 6e 6f 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 s.not.exist.......*......*.@acce
367c0 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 ss.public......*......*.@param.$
367e0 73 65 71 5f 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 6e 63 seq_name.the.name.of.the.sequenc
36800 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 6f 6e 64 65 6d 61 6e 64 e......*......*.@param.$ondemand
36820 20 77 68 65 74 68 65 72 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 .whether.to.create.the.sequence.
36840 74 61 62 6c 65 20 6f 6e 20 64 65 6d 61 6e 64 0a 20 20 20 20 20 2a 20 28 64 65 66 61 75 6c 74 20 table.on.demand......*.(default.
36860 69 73 20 74 72 75 65 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 is.true)......*......*.@return.a
36880 20 73 65 71 75 65 6e 63 65 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 .sequence.integer,.or.a.DB.error
368a0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 24 73 65 ......*/.....function.nextId($se
368c0 71 5f 6e 61 6d 65 2c 20 24 6f 6e 64 65 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a q_name,.$ondemand.=.true).....{.
368e0 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 ........$seqname.=.$this->getSeq
36900 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 72 uenceName($seq_name);.........$r
36920 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 epeat.=.0;.........do.{.........
36940 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 75 70 64 61 ....$result.=.$this->query("upda
36960 74 65 20 24 7b 73 65 71 6e 61 6d 65 7d 20 73 65 74 20 69 64 20 3d 20 69 64 20 2b 20 31 22 29 3b te.${seqname}.set.id.=.id.+.1");
36980 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 6e 64 65 6d 61 6e 64 20 26 26 20 44 42 .............if.($ondemand.&&.DB
369a0 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 ::isError($result).&&...........
369c0 20 20 20 20 20 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 20 44 42 5f 45 ......$result->getCode().==.DB_E
369e0 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RROR_NOT_FOUND).{...............
36a00 20 20 24 72 65 70 65 61 74 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ..$repeat.=.1;.................$
36a20 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 result.=.$this->createSequence($
36a40 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 seq_name);.................if.(D
36a60 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 B::isError($result)).{..........
36a80 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 ...........return.$result;......
36aa0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 ...........}.................$re
36ac0 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 69 6e 73 65 72 74 20 69 6e 74 6f sult.=.$this->query("insert.into
36ae0 20 24 7b 73 65 71 6e 61 6d 65 7d 20 28 69 64 29 20 76 61 6c 75 65 73 28 30 29 22 29 3b 0a 20 20 .${seqname}.(id).values(0)");...
36b00 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.else.{..............
36b20 20 20 20 24 72 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ...$repeat.=.0;.............}...
36b40 20 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 24 72 65 70 65 61 74 29 3b 0a 0a 20 20 20 20 20 20 ......}.while.($repeat);........
36b60 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 ..if.(DB::isError($result)).{...
36b80 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 ..........return.$result;.......
36ba0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 ..}..........$result.=.$this->qu
36bc0 65 72 79 28 22 73 65 6c 65 63 74 20 69 64 20 66 72 6f 6d 20 24 7b 73 65 71 6e 61 6d 65 7d 22 29 ery("select.id.from.${seqname}")
36be0 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c ;.........if.(DB::isError($resul
36c00 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 t)).{.............return.$result
36c20 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 6f 77 20 3d 20 24 72 65 73 ;.........}..........$row.=.$res
36c40 75 6c 74 2d 3e 66 65 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 ult->fetchRow(DB_FETCHMODE_ASSOC
36c60 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 6f 77 20 );.........if.(DB::isError($row.
36c80 7c 7c 20 21 24 72 6f 77 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ||.!$row)).{.............return.
36ca0 24 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 $row;.........}..........return.
36cc0 24 72 6f 77 5b 27 69 64 27 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 $row['id'];.....}......//.}}}...
36ce0 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 ..//.{{{.createSequence()......f
36d00 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 unction.createSequence($seq_name
36d20 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 ).....{.........$seqname.=.$this
36d40 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 ->getSequenceName($seq_name);...
36d60 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 43 52 45 41 54 ......return.$this->query("CREAT
36d80 45 20 54 41 42 4c 45 20 24 7b 73 65 71 6e 61 6d 65 7d 20 22 2e 0a 20 20 20 20 20 20 20 20 20 20 E.TABLE.${seqname}."............
36da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 69 64 20 62 69 67 69 6e 74 20 4e 4f ..................'(id.bigint.NO
36dc0 54 20 4e 55 4c 4c 2c 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 T.NULL,'........................
36de0 20 20 20 20 20 20 27 20 50 52 49 4d 41 52 59 20 4b 45 59 28 69 64 29 29 27 29 3b 0a 20 20 20 20 ......'.PRIMARY.KEY(id))');.....
36e00 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 72 6f 70 53 65 71 }......//.}}}.....//.{{{.dropSeq
36e20 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 72 6f 70 53 65 71 75 65 6e uence()......function.dropSequen
36e40 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 71 ce($seq_name).....{.........$seq
36e60 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 name.=.$this->getSequenceName($s
36e80 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e eq_name);.........return.$this->
36ea0 71 75 65 72 79 28 22 44 52 4f 50 20 54 41 42 4c 45 20 24 7b 73 65 71 6e 61 6d 65 7d 22 29 3b 0a query("DROP.TABLE.${seqname}");.
36ec0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 75 74 ....}......//.}}}.....//.{{{.aut
36ee0 6f 43 6f 6d 6d 69 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 43 6f 6d 6d oCommit()......function.autoComm
36f00 69 74 28 24 6f 6e 6f 66 66 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 it($onoff.=.false).....{........
36f20 20 69 66 20 28 21 40 6f 64 62 63 5f 61 75 74 6f 63 6f 6d 6d 69 74 28 24 74 68 69 73 2d 3e 63 6f .if.(!@odbc_autocommit($this->co
36f40 6e 6e 65 63 74 69 6f 6e 2c 20 24 6f 6e 6f 66 66 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 nnection,.$onoff)).{............
36f60 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 64 62 63 52 61 69 73 65 45 72 72 6f 72 28 29 3b .return.$this->odbcRaiseError();
36f80 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b .........}.........return.DB_OK;
36fa0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f .....}......//.}}}.....//.{{{.co
36fc0 6d 6d 69 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 69 74 28 29 0a 20 20 mmit()......function.commit()...
36fe0 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6f 64 62 63 5f 63 6f 6d 6d 69 74 28 24 74 ..{.........if.(!@odbc_commit($t
37000 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 his->connection)).{.............
37020 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 64 62 63 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a return.$this->odbcRaiseError();.
37040 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a ........}.........return.DB_OK;.
37060 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 72 6f 6c ....}......//.}}}.....//.{{{.rol
37080 6c 62 61 63 6b 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 29 lback()......function.rollback()
370a0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 40 6f 64 62 63 5f 72 6f 6c 6c 62 61 .....{.........if.(!@odbc_rollba
370c0 63 6b 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 ck($this->connection)).{........
370e0 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 64 62 63 52 61 69 73 65 45 72 72 6f .....return.$this->odbcRaiseErro
37100 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 r();.........}.........return.DB
37120 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b _OK;.....}......//.}}}.....//.{{
37140 7b 20 6f 64 62 63 52 61 69 73 65 45 72 72 6f 72 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e {.odbcRaiseError()......function
37160 20 6f 64 62 63 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 20 3d 20 6e 75 6c 6c 29 0a 20 .odbcRaiseError($errno.=.null)..
37180 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6e 6f 20 3d 3d 3d 20 6e 75 6c 6c ...{.........if.($errno.===.null
371a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6e 6f 20 3d 20 24 74 68 69 73 2d 3e ).{.............$errno.=.$this->
371c0 65 72 72 6f 72 43 6f 64 65 28 6f 64 62 63 5f 65 72 72 6f 72 28 24 74 68 69 73 2d 3e 63 6f 6e 6e errorCode(odbc_error($this->conn
371e0 65 63 74 69 6f 6e 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 ection));.........}.........retu
37200 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 2c 20 6e 75 6c rn.$this->raiseError($errno,.nul
37220 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l,.null,.null,..................
37240 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4e 61 74 69 76 65 28 29 29 3b 0a 20 20 .......$this->errorNative());...
37260 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 ..}......//.}}}.....//.{{{.getSp
37280 65 63 69 61 6c 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 ecialQuery()....../**.....*.Retu
372a0 72 6e 73 20 74 68 65 20 71 75 65 72 79 20 6e 65 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 rns.the.query.needed.to.get.some
372c0 20 62 61 63 6b 65 6e 64 20 69 6e 66 6f 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e .backend.info.....*.@param.strin
372e0 67 20 24 74 79 70 65 20 57 68 61 74 20 6b 69 6e 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 g.$type.What.kind.of.info.you.wa
37300 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 nt.to.retrieve.....*.@return.str
37320 69 6e 67 20 54 68 65 20 53 51 4c 20 71 75 65 72 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a ing.The.SQL.query.string.....*/.
37340 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 ....function.getSpecialQuery($ty
37360 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 pe).....{.........switch.($type)
37380 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 .{.............case.'tables':...
373a0 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........default:..............
373c0 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ...return.null;.........}.......
373e0 20 20 72 65 74 75 72 6e 20 24 73 71 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d ..return.$sql;.....}......//.}}}
37400 0a 0a 7d 0a 0a 2f 2f 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 0a 2f 2f 20 74 61 62 2d ..}..//.Local.variables:.//.tab-
37420 77 69 64 74 68 3a 20 34 0a 2f 2f 20 63 2d 62 61 73 69 63 2d 6f 66 66 73 65 74 3a 20 34 0a 2f 2f width:.4.//.c-basic-offset:.4.//
37440 20 45 6e 64 3a 0a 3f 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .End:.?>........................
37460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
374a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
374c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
374e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37600 44 42 2d 31 2e 33 2f 44 42 2f 70 67 73 71 6c 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/pgsql.php.............
37620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
37680 20 20 36 32 36 34 34 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 30 35 31 20 00 00 00 00 00 ..62644..7466465701...7051......
376a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
376c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
376e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
377a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
377c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
377e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37800 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
37820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
37840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
37860 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
37880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
378a0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
378c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
378e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
37900 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
37920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
37940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
37960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
37980 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
379a0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
379c0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
379e0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
37a00 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
37a20 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
37a40 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
37a60 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
37a80 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
37aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
37ac0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
37ae0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
37b00 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
37b20 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
37b40 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
37b60 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
37b80 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
37ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
37bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
37be0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 73 3a 20 52 75 69 20 48 69 72 6f 6b 61 77 61 20 ---+.//.|.Authors:.Rui.Hirokawa.
37c00 3c 72 75 69 5f 68 69 72 6f 6b 61 77 61 40 79 62 62 2e 6e 65 2e 6a 70 3e 20 20 20 20 20 20 20 20 <rui_hirokawa@ybb.ne.jp>........
37c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 20 20 20 20 20 20 20 20 20 53 ...............|.//.|..........S
37c40 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 73 62 40 66 61 73 74 2e 6e 6f 3e 20 20 20 20 20 20 20 20 tig.Bakken.<ssb@fast.no>........
37c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ...........................|.//.
37c80 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d +-------------------------------
37ca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
37cc0 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a 2f 2f 20 24 49 64 3a 20 70 67 73 71 6c 2e 70 68 70 2c 76 20 -------+.//.//.$Id:.pgsql.php,v.
37ce0 31 2e 35 20 32 30 30 32 2f 30 35 2f 30 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 1.5.2002/05/09.12:29:53.ssb.Exp.
37d00 24 0a 2f 2f 0a 2f 2f 20 44 61 74 61 62 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 $.//.//.Database.independent.que
37d20 72 79 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 ry.interface.definition.for.PHP'
37d40 73 20 50 6f 73 74 67 72 65 53 51 4c 0a 2f 2f 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 2f s.PostgreSQL.//.extension..//../
37d60 2f 0a 2f 2f 20 58 58 58 20 6c 65 67 65 6e 64 3a 0a 2f 2f 0a 2f 2f 20 58 58 58 20 45 52 52 4f 52 /.//.XXX.legend:.//.//.XXX.ERROR
37d80 4d 53 47 3a 20 54 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 72 6f 6d 20 74 68 65 20 MSG:.The.error.message.from.the.
37da0 70 67 73 71 6c 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 2f 2f 20 20 20 20 20 20 20 20 pgsql.function.should.//........
37dc0 20 20 20 20 20 20 20 62 65 20 72 65 67 69 73 74 65 72 65 64 20 68 65 72 65 2e 0a 2f 2f 0a 0a 72 .......be.registered.here..//..r
37de0 65 71 75 69 72 65 5f 6f 6e 63 65 20 27 44 42 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a 63 6c equire_once.'DB/common.php';..cl
37e00 61 73 73 20 44 42 5f 70 67 73 71 6c 20 65 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b ass.DB_pgsql.extends.DB_common.{
37e20 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 6f 70 65 72 74 69 65 73 0a 0a 20 20 20 20 76 61 72 20 .....//.{{{.properties......var.
37e40 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 20 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 24 $connection;.....var.$phptype,.$
37e60 64 62 73 79 6e 74 61 78 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e dbsyntax;.....var.$prepare_token
37e80 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 79 s.=.array();.....var.$prepare_ty
37ea0 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 74 72 61 6e 73 61 63 74 pes.=.array();.....var.$transact
37ec0 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 76 61 72 20 24 64 73 6e 20 3d 20 ion_opcount.=.0;.....var.$dsn.=.
37ee0 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 72 6f 77 20 3d 20 61 72 72 61 79 28 29 3b array();.....var.$row.=.array();
37f00 0a 20 20 20 20 76 61 72 20 24 6e 75 6d 5f 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 .....var.$num_rows.=.array();...
37f20 20 20 76 61 72 20 24 61 66 66 65 63 74 65 64 20 3d 20 30 3b 0a 20 20 20 20 76 61 72 20 24 61 75 ..var.$affected.=.0;.....var.$au
37f40 74 6f 63 6f 6d 6d 69 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 76 61 72 20 24 66 65 74 63 68 6d tocommit.=.true;.....var.$fetchm
37f60 6f 64 65 20 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 3b 0a 0a 20 20 20 ode.=.DB_FETCHMODE_ORDERED;.....
37f80 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 75 63 74 6f 72 0a 0a .//.}}}.....//.{{{.constructor..
37fa0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 70 67 73 71 6c 28 29 0a 20 20 20 20 7b 0a 20 20 ....function.DB_pgsql().....{...
37fc0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a 20 20 20 20 20 20 ......$this->DB_common();.......
37fe0 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 70 67 73 71 6c 27 3b 0a 20 20 20 20 ..$this->phptype.=.'pgsql';.....
38000 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 70 67 73 71 6c 27 3b 0a 20 ....$this->dbsyntax.=.'pgsql';..
38020 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d 20 61 72 72 61 79 28 0a .......$this->features.=.array(.
38040 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a ............'prepare'.=>.false,.
38060 20 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a ............'pconnect'.=>.true,.
38080 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e 73 27 20 3d 3e 20 74 72 ............'transactions'.=>.tr
380a0 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 20 3d 3e 20 27 61 6c 74 65 ue,.............'limit'.=>.'alte
380c0 72 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 72 72 r'.........);.........$this->err
380e0 6f 72 63 6f 64 65 5f 6d 61 70 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 orcode_map.=.array(.........);..
38100 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 6e ...}......//.}}}.....//.{{{.conn
38120 65 63 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 6e 65 63 74 20 74 6f ect()....../**......*.Connect.to
38140 20 61 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 6c 6f 67 20 69 6e 20 61 73 20 74 68 65 20 73 70 .a.database.and.log.in.as.the.sp
38160 65 63 69 66 69 65 64 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 ecified.user.......*......*.@par
38180 61 6d 20 24 64 73 6e 20 74 68 65 20 64 61 74 61 20 73 6f 75 72 63 65 20 6e 61 6d 65 20 28 73 65 am.$dsn.the.data.source.name.(se
381a0 65 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 20 66 6f 72 20 73 79 6e 74 61 78 29 0a 20 20 20 20 20 e.DB::parseDSN.for.syntax)......
381c0 2a 20 40 70 61 72 61 6d 20 24 70 65 72 73 69 73 74 65 6e 74 20 28 6f 70 74 69 6f 6e 61 6c 29 20 *.@param.$persistent.(optional).
381e0 77 68 65 74 68 65 72 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 20 20 whether.the.connection.should...
38200 20 20 20 2a 20 20 20 20 20 20 20 20 62 65 20 70 65 72 73 69 73 74 65 6e 74 0a 20 20 20 20 20 2a ...*........be.persistent......*
38220 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 ......*.@return.int.DB_OK.on.suc
38240 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 20 66 61 69 6c 75 72 65 cess,.a.DB.error.code.on.failure
38260 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 ......*/.....function.connect($d
38280 73 6e 69 6e 66 6f 2c 20 24 70 65 72 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 sninfo,.$persistent.=.false)....
382a0 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 .{.........if.(!DB::assertExtens
382c0 69 6f 6e 28 27 70 67 73 71 6c 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ion('pgsql')).............return
382e0 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 .$this->raiseError(DB_ERROR_EXTE
38300 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 NSION_NOT_FOUND);..........$this
38320 2d 3e 64 73 6e 20 3d 20 24 64 73 6e 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 24 70 72 6f 74 6f ->dsn.=.$dsninfo;.........$proto
38340 63 6f 6c 20 3d 20 28 69 73 73 65 74 28 24 64 73 6e 69 6e 66 6f 5b 27 70 72 6f 74 6f 63 6f 6c 27 col.=.(isset($dsninfo['protocol'
38360 5d 29 29 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 70 72 6f 74 6f 63 6f 6c 27 5d 20 3a 20 27 74 63 ])).?.$dsninfo['protocol'].:.'tc
38380 70 27 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 73 74 72 20 3d 20 27 27 3b 0a 0a 20 20 20 20 p';.........$connstr.=.'';......
383a0 20 20 20 20 69 66 20 28 24 70 72 6f 74 6f 63 6f 6c 20 3d 3d 20 27 74 63 70 27 29 20 7b 0a 20 20 ....if.($protocol.==.'tcp').{...
383c0 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 73 74 72 20 3d 20 27 68 6f 73 74 3d 27 20 2e 20 24 ..........$connstr.=.'host='...$
383e0 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 dsninfo['hostspec'];............
38400 20 69 66 20 28 21 65 6d 70 74 79 28 24 64 73 6e 69 6e 66 6f 5b 27 70 6f 72 74 27 5d 29 29 20 7b .if.(!empty($dsninfo['port'])).{
38420 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 73 74 72 20 2e 3d 20 27 20 70 .................$connstr..=.'.p
38440 6f 72 74 3d 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 70 6f 72 74 27 5d 3b 0a 20 20 20 20 20 20 ort='...$dsninfo['port'];.......
38460 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 ......}.........}..........if.(i
38480 73 73 65 74 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 29 29 20 7b 0a 20 20 sset($dsninfo['database'])).{...
384a0 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 73 74 72 20 2e 3d 20 27 20 64 62 6e 61 6d 65 3d 27 ..........$connstr..=.'.dbname='
384c0 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 3b 0a 20 20 20 20 20 20 20 ...$dsninfo['database'];........
384e0 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 64 73 6e 69 6e 66 6f 5b 27 .}.........if.(!empty($dsninfo['
38500 75 73 65 72 6e 61 6d 65 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e username'])).{.............$conn
38520 73 74 72 20 2e 3d 20 27 20 75 73 65 72 3d 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 str..=.'.user='...$dsninfo['user
38540 6e 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 name'];.........}.........if.(!e
38560 6d 70 74 79 28 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 29 20 7b 0a 20 20 mpty($dsninfo['password'])).{...
38580 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 73 74 72 20 2e 3d 20 27 20 70 61 73 73 77 6f 72 64 ..........$connstr..=.'.password
385a0 3d 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 20 20 20 20 20 ='...$dsninfo['password'];......
385c0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 64 73 6e 69 6e 66 6f ...}.........if.(!empty($dsninfo
385e0 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e ['options'])).{.............$con
38600 6e 73 74 72 20 2e 3d 20 27 20 6f 70 74 69 6f 6e 73 3d 27 20 2e 20 24 64 73 6e 69 6e 66 6f 5b 27 nstr..=.'.options='...$dsninfo['
38620 6f 70 74 69 6f 6e 73 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 options'];.........}.........if.
38640 28 21 65 6d 70 74 79 28 24 64 73 6e 69 6e 66 6f 5b 27 74 74 79 27 5d 29 29 20 7b 0a 20 20 20 20 (!empty($dsninfo['tty'])).{.....
38660 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 73 74 72 20 2e 3d 20 27 20 74 74 79 3d 27 20 2e 20 24 64 ........$connstr..=.'.tty='...$d
38680 73 6e 69 6e 66 6f 5b 27 74 74 79 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 sninfo['tty'];.........}........
386a0 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 24 70 65 72 73 69 73 74 65 6e ..$connect_function.=.$persisten
386c0 74 20 3f 20 27 70 67 5f 70 63 6f 6e 6e 65 63 74 27 20 3a 20 27 70 67 5f 63 6f 6e 6e 65 63 74 27 t.?.'pg_pconnect'.:.'pg_connect'
386e0 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 61 74 63 68 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 ;.........//.catch.error........
38700 20 6f 62 5f 73 74 61 72 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 24 63 6f .ob_start();.........$conn.=.$co
38720 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 63 6f 6e 6e 73 74 72 29 3b 0a 20 20 20 20 20 20 nnect_function($connstr);.......
38740 20 20 24 65 72 72 6f 72 20 3d 20 6f 62 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 29 3b 0a 20 20 ..$error.=.ob_get_contents();...
38760 20 20 20 20 20 20 6f 62 5f 65 6e 64 5f 63 6c 65 61 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 ......ob_end_clean();.........if
38780 20 28 24 63 6f 6e 6e 20 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .($conn.==.false).{.............
387a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f return.$this->raiseError(DB_ERRO
387c0 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 R_CONNECT_FAILED,.null,.........
387e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c .............................nul
38800 6c 2c 20 6e 75 6c 6c 2c 20 73 74 72 69 70 5f 74 61 67 73 28 24 65 72 72 6f 72 29 29 3b 0a 20 20 l,.null,.strip_tags($error));...
38820 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f ......}.........$this->connectio
38840 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b n.=.$conn;.........return.DB_OK;
38860 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 69 .....}......//.}}}.....//.{{{.di
38880 73 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 67 20 6f sconnect()....../**......*.Log.o
388a0 75 74 20 61 6e 64 20 64 69 73 63 6f 6e 6e 65 63 74 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 ut.and.disconnect.from.the.datab
388c0 61 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 ase.......*......*.@return.bool.
388e0 54 52 55 45 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 46 41 4c 53 45 20 69 66 20 6e 6f 74 20 63 6f TRUE.on.success,.FALSE.if.not.co
38900 6e 6e 65 63 74 65 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 nnected.......*/.....function.di
38920 73 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 sconnect().....{.........$ret.=.
38940 40 70 67 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 20 2f 2f @pg_close($this->connection);.//
38960 20 58 58 58 20 45 52 52 4f 52 4d 53 47 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e .XXX.ERRORMSG.........$this->con
38980 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 nection.=.null;.........return.$
389a0 72 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b ret;.....}......//.}}}.....//.{{
389c0 7b 20 73 69 6d 70 6c 65 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 {.simpleQuery()....../**......*.
389e0 53 65 6e 64 20 61 20 71 75 65 72 79 20 74 6f 20 50 6f 73 74 67 72 65 53 51 4c 20 61 6e 64 20 72 Send.a.query.to.PostgreSQL.and.r
38a00 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 73 20 61 0a 20 20 20 20 20 2a 20 50 6f eturn.the.results.as.a......*.Po
38a20 73 74 67 72 65 53 51 4c 20 72 65 73 6f 75 72 63 65 20 69 64 65 6e 74 69 66 69 65 72 2e 0a 20 20 stgreSQL.resource.identifier....
38a40 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 71 75 65 72 79 20 74 68 65 20 53 51 ...*......*.@param.$query.the.SQ
38a60 4c 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e L.query......*......*.@return.in
38a80 74 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 69 64 20 50 6f 73 74 67 72 65 53 51 4c 20 72 65 73 t.returns.a.valid.PostgreSQL.res
38aa0 75 6c 74 20 66 6f 72 20 73 75 63 63 65 73 73 66 75 6c 20 53 45 4c 45 43 54 0a 20 20 20 20 20 2a ult.for.successful.SELECT......*
38ac0 20 71 75 65 72 69 65 73 2c 20 44 42 5f 4f 4b 20 66 6f 72 20 6f 74 68 65 72 20 73 75 63 63 65 73 .queries,.DB_OK.for.other.succes
38ae0 73 66 75 6c 20 71 75 65 72 69 65 73 2e 20 20 41 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 sful.queries...A.DB.error.code..
38b00 20 20 20 20 2a 20 69 73 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 ....*.is.returned.on.failure....
38b20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 65 51 75 65 72 79 28 24 ...*/.....function.simpleQuery($
38b40 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 73 6d 61 6e 69 70 20 3d 20 query).....{.........$ismanip.=.
38b60 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 DB::isManip($query);.........$th
38b80 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 is->last_query.=.$query;........
38ba0 20 24 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 .$query.=.$this->modifyQuery($qu
38bc0 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f ery);.........if.(!$this->autoco
38be0 6d 6d 69 74 20 26 26 20 24 69 73 6d 61 6e 69 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 mmit.&&.$ismanip).{.............
38c00 69 66 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d if.($this->transaction_opcount.=
38c20 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d =.0).{.................$result.=
38c40 20 40 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 22 62 65 .@pg_exec($this->connection,."be
38c60 67 69 6e 3b 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 gin;");.................if.(!$re
38c80 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 sult).{.....................retu
38ca0 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 rn.$this->pgsqlRaiseError();....
38cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .............}.............}....
38ce0 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f .........$this->transaction_opco
38d00 75 6e 74 2b 2b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 unt++;.........}.........$result
38d20 20 3d 20 40 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 24 .=.@pg_exec($this->connection,.$
38d40 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a query);.........if.(!$result).{.
38d60 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c 52 ............return.$this->pgsqlR
38d80 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f aiseError();.........}........./
38da0 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 71 75 65 72 69 65 73 20 74 68 61 74 20 73 /.Determine.which.queries.that.s
38dc0 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 61 74 61 2c 20 61 6e 64 20 77 68 69 63 68 0a 20 20 20 hould.return.data,.and.which....
38de0 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 63 .....//.should.return.an.error.c
38e00 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 69 73 6d 61 6e 69 70 29 20 ode.only..........if.($ismanip).
38e20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 66 66 65 63 74 65 64 20 3d 20 {.............$this->affected.=.
38e40 40 70 67 5f 63 6d 64 74 75 70 6c 65 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 @pg_cmdtuples($result);.........
38e60 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 ....return.DB_OK;.........}.else
38e80 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 5c 28 3f 5c 73 2a 53 45 4c 45 43 if.(preg_match('/^\s*\(?\s*SELEC
38ea0 54 5c 73 2b 2f 73 69 27 2c 20 24 71 75 65 72 79 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 T\s+/si',.$query).&&............
38ec0 20 20 20 20 20 20 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 5c 28 3f 5c 73 2a 53 .......!preg_match('/^\s*\(?\s*S
38ee0 45 4c 45 43 54 5c 73 2b 49 4e 54 4f 5c 73 2f 73 69 27 2c 20 24 71 75 65 72 79 29 29 20 7b 0a 20 ELECT\s+INTO\s/si',.$query)).{..
38f00 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 50 6f 73 74 67 72 65 53 51 4c 20 63 6f 6d 6d 61 6e 64 .........../*.PostgreSQL.command
38f20 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 42 4f 52 54 2c 20 41 4c 54 45 52 2c 20 s:................ABORT,.ALTER,.
38f40 42 45 47 49 4e 2c 20 43 4c 4f 53 45 2c 20 43 4c 55 53 54 45 52 2c 20 43 4f 4d 4d 49 54 2c 20 43 BEGIN,.CLOSE,.CLUSTER,.COMMIT,.C
38f60 4f 50 59 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 52 45 41 54 45 2c 20 44 45 43 4c OPY,................CREATE,.DECL
38f80 41 52 45 2c 20 44 45 4c 45 54 45 2c 20 44 52 4f 50 20 54 41 42 4c 45 2c 20 45 58 50 4c 41 49 4e ARE,.DELETE,.DROP.TABLE,.EXPLAIN
38fa0 2c 20 46 45 54 43 48 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 52 41 4e 54 2c 20 49 ,.FETCH,................GRANT,.I
38fc0 4e 53 45 52 54 2c 20 4c 49 53 54 45 4e 2c 20 4c 4f 41 44 2c 20 4c 4f 43 4b 2c 20 4d 4f 56 45 2c NSERT,.LISTEN,.LOAD,.LOCK,.MOVE,
38fe0 20 4e 4f 54 49 46 59 2c 20 52 45 53 45 54 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 .NOTIFY,.RESET,................R
39000 45 56 4f 4b 45 2c 20 52 4f 4c 4c 42 41 43 4b 2c 20 53 45 4c 45 43 54 2c 20 53 45 4c 45 43 54 20 EVOKE,.ROLLBACK,.SELECT,.SELECT.
39020 49 4e 54 4f 2c 20 53 45 54 2c 20 53 48 4f 57 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 INTO,.SET,.SHOW,................
39040 55 4e 4c 49 53 54 45 4e 2c 20 55 50 44 41 54 45 2c 20 56 41 43 55 55 4d 0a 20 20 20 20 20 20 20 UNLISTEN,.UPDATE,.VACUUM........
39060 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 77 5b 24 .....*/.............$this->row[$
39080 72 65 73 75 6c 74 5d 20 3d 20 30 3b 20 2f 2f 20 72 65 73 65 74 20 74 68 65 20 72 6f 77 20 63 6f result].=.0;.//.reset.the.row.co
390a0 75 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 75 6d 72 6f 77 73 20 3d 20 24 74 unter..............$numrows.=.$t
390c0 68 69 73 2d 3e 6e 75 6d 72 6f 77 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 his->numrows($result);..........
390e0 20 20 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 6e 75 6d 72 6f 77 73 29 29 20 7b 0a 20 20 ...if.(is_object($numrows)).{...
39100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6e 75 6d 72 6f 77 73 3b 0a 20 ..............return.$numrows;..
39120 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ...........}.............$this->
39140 6e 75 6d 5f 72 6f 77 73 5b 24 72 65 73 75 6c 74 5d 20 3d 20 24 6e 75 6d 72 6f 77 73 3b 0a 20 20 num_rows[$result].=.$numrows;...
39160 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 66 66 65 63 74 65 64 20 3d 20 30 3b 0a 20 ..........$this->affected.=.0;..
39180 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 ...........return.$result;......
391a0 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 ...}.else.{.............$this->a
391c0 66 66 65 63 74 65 64 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ffected.=.0;.............return.
391e0 44 42 5f 4f 4b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d DB_OK;.........}.....}......//.}
39200 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 }}.....//.{{{.nextResult()......
39220 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 70 67 73 /**......*.Move.the.internal.pgs
39240 71 6c 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 ql.result.pointer.to.the.next.av
39260 61 69 6c 61 62 6c 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 ailable.result......*......*.@pa
39280 72 61 6d 20 61 20 76 61 6c 69 64 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 ram.a.valid.fbsql.result.resourc
392a0 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 e......*......*.@access.public..
392c0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 ....*......*.@return.true.if.a.r
392e0 65 73 75 6c 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 esult.is.available.otherwise.ret
39300 75 72 6e 20 66 61 6c 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e urn.false......*/.....function.n
39320 65 78 74 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 extResult($result).....{........
39340 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d .return.false;.....}......//.}}}
39360 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 65 72 72 6f 72 43 6f 64 65 28 29 0a 0a 20 20 20 20 2f 2a 2a .....//.{{{.errorCode()....../**
39380 0a 20 20 20 20 20 2a 20 4d 61 70 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 74 ......*.Map.native.error.codes.t
393a0 6f 20 44 42 27 73 20 70 6f 72 74 61 62 6c 65 20 6f 6e 65 73 2e 20 20 52 65 71 75 69 72 65 73 20 o.DB's.portable.ones...Requires.
393c0 74 68 61 74 0a 20 20 20 20 20 2a 20 74 68 65 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f that......*.the.DB.implementatio
393e0 6e 27 73 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 66 69 6c 6c 73 20 69 6e 20 74 68 65 20 24 65 72 n's.constructor.fills.in.the.$er
39400 72 6f 72 63 6f 64 65 5f 6d 61 70 0a 20 20 20 20 20 2a 20 70 72 6f 70 65 72 74 79 2e 0a 20 20 20 rorcode_map......*.property.....
39420 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 6e 61 74 69 76 65 63 6f 64 65 20 74 68 ..*......*.@param.$nativecode.th
39440 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 61 73 20 72 65 74 75 72 6e 65 64 e.native.error.code,.as.returned
39460 20 62 79 20 74 68 65 20 62 61 63 6b 65 6e 64 0a 20 20 20 20 20 2a 20 64 61 74 61 62 61 73 65 20 .by.the.backend......*.database.
39480 65 78 74 65 6e 73 69 6f 6e 20 28 73 74 72 69 6e 67 20 6f 72 20 69 6e 74 65 67 65 72 29 0a 20 20 extension.(string.or.integer)...
394a0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 61 20 70 6f 72 74 61 62 ...*......*.@return.int.a.portab
394c0 6c 65 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 6f 72 20 46 41 4c 53 45 20 69 66 20 74 68 le.DB.error.code,.or.FALSE.if.th
394e0 69 73 20 44 42 0a 20 20 20 20 20 2a 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 68 61 73 20 is.DB......*.implementation.has.
39500 6e 6f 20 6d 61 70 70 69 6e 67 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 65 72 72 6f 72 20 63 no.mapping.for.the.given.error.c
39520 6f 64 65 2e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 ode.......*/......function.error
39540 43 6f 64 65 28 24 65 72 72 6f 72 6d 73 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 74 Code($errormsg).....{.........st
39560 61 74 69 63 20 24 65 72 72 6f 72 5f 72 65 67 65 78 70 73 3b 0a 20 20 20 20 20 20 20 20 69 66 20 atic.$error_regexps;.........if.
39580 28 65 6d 70 74 79 28 24 65 72 72 6f 72 5f 72 65 67 65 78 70 73 29 29 20 7b 0a 20 20 20 20 20 20 (empty($error_regexps)).{.......
395a0 20 20 20 20 20 20 24 65 72 72 6f 72 5f 72 65 67 65 78 70 73 20 3d 20 61 72 72 61 79 28 0a 20 20 ......$error_regexps.=.array(...
395c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2f 28 54 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20 ..............'/(Table.does.not.
395e0 65 78 69 73 74 5c 2e 7c 52 65 6c 61 74 69 6f 6e 20 5b 5c 22 5c 27 5d 2e 2a 5b 5c 22 5c 27 5d 20 exist\.|Relation.[\"\'].*[\"\'].
39600 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 7c 73 65 71 75 65 6e 63 65 20 64 6f 65 73 20 6e 6f 74 does.not.exist|sequence.does.not
39620 20 65 78 69 73 74 7c 63 6c 61 73 73 20 22 2e 2b 22 20 6e 6f 74 20 66 6f 75 6e 64 29 24 2f 27 20 .exist|class.".+".not.found)$/'.
39640 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 2c 0a 20 20 20 20 20 20 20 =>.DB_ERROR_NOSUCHTABLE,........
39660 20 20 20 20 20 20 20 20 20 27 2f 52 65 6c 61 74 69 6f 6e 20 5b 5c 22 5c 27 5d 2e 2a 5b 5c 22 5c .........'/Relation.[\"\'].*[\"\
39680 27 5d 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 7c 43 61 6e 6e 6f 74 20 69 6e 73 65 72 74 20 '].already.exists|Cannot.insert.
396a0 61 20 64 75 70 6c 69 63 61 74 65 20 6b 65 79 20 69 6e 74 6f 20 28 61 20 29 3f 75 6e 69 71 75 65 a.duplicate.key.into.(a.)?unique
396c0 20 69 6e 64 65 78 2e 2a 2f 27 20 20 20 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 .index.*/'......=>.DB_ERROR_ALRE
396e0 41 44 59 5f 45 58 49 53 54 53 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2f 64 69 ADY_EXISTS,.................'/di
39700 76 69 64 65 20 62 79 20 7a 65 72 6f 24 2f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vide.by.zero$/'.................
39720 20 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 2c 0a 20 20 20 20 20 20 20 ....=>.DB_ERROR_DIVZERO,........
39740 20 20 20 20 20 20 20 20 20 27 2f 70 67 5f 61 74 6f 69 3a 20 65 72 72 6f 72 20 69 6e 20 2e 2a 3a .........'/pg_atoi:.error.in..*:
39760 20 63 61 6e 5c 27 74 20 70 61 72 73 65 20 2f 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 .can\'t.parse./'.=>.DB_ERROR_INV
39780 41 4c 49 44 5f 4e 55 4d 42 45 52 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2f 74 ALID_NUMBER,.................'/t
397a0 74 72 69 62 75 74 65 20 5b 5c 22 5c 27 5d 2e 2a 5b 5c 22 5c 27 5d 20 6e 6f 74 20 66 6f 75 6e 64 tribute.[\"\'].*[\"\'].not.found
397c0 24 7c 52 65 6c 61 74 69 6f 6e 20 5b 5c 22 5c 27 5d 2e 2a 5b 5c 22 5c 27 5d 20 64 6f 65 73 20 6e $|Relation.[\"\'].*[\"\'].does.n
397e0 6f 74 20 68 61 76 65 20 61 74 74 72 69 62 75 74 65 20 5b 5c 22 5c 27 5d 2e 2a 5b 5c 22 5c 27 5d ot.have.attribute.[\"\'].*[\"\']
39800 2f 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 2c 0a 20 20 20 20 /'.=>.DB_ERROR_NOSUCHFIELD,.....
39820 20 20 20 20 20 20 20 20 20 20 20 20 27 2f 70 61 72 73 65 72 3a 20 70 61 72 73 65 20 65 72 72 6f ............'/parser:.parse.erro
39840 72 20 61 74 20 6f 72 20 6e 65 61 72 20 5c 22 2f 27 20 20 20 3d 3e 20 44 42 5f 45 52 52 4f 52 5f r.at.or.near.\"/'...=>.DB_ERROR_
39860 53 59 4e 54 41 58 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2f 72 65 66 65 72 65 SYNTAX,.................'/refere
39880 6e 74 69 61 6c 20 69 6e 74 65 67 72 69 74 79 20 76 69 6f 6c 61 74 69 6f 6e 2f 27 20 20 20 20 20 ntial.integrity.violation/'.....
398a0 3d 3e 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 0a 20 20 20 20 20 20 20 20 20 =>.DB_ERROR_CONSTRAINT..........
398c0 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 ...);.........}.........foreach.
398e0 28 24 65 72 72 6f 72 5f 72 65 67 65 78 70 73 20 61 73 20 24 72 65 67 65 78 70 20 3d 3e 20 24 63 ($error_regexps.as.$regexp.=>.$c
39900 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 ode).{.............if.(preg_matc
39920 68 28 24 72 65 67 65 78 70 2c 20 24 65 72 72 6f 72 6d 73 67 29 29 20 7b 0a 20 20 20 20 20 20 20 h($regexp,.$errormsg)).{........
39940 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 20 .........return.$code;..........
39960 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 46 61 6c 6c 20 62 ...}.........}.........//.Fall.b
39980 61 63 6b 20 74 6f 20 44 42 5f 45 52 52 4f 52 20 69 66 20 74 68 65 72 65 20 77 61 73 20 6e 6f 20 ack.to.DB_ERROR.if.there.was.no.
399a0 6d 61 70 70 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 45 52 52 4f 52 mapping..........return.DB_ERROR
399c0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 ;.....}......//.}}}...../**.....
399e0 20 2a 20 46 65 74 63 68 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 72 6f 77 20 6f 66 20 64 61 74 .*.Fetch.and.return.a.row.of.dat
39a00 61 20 28 69 74 20 75 73 65 73 20 66 65 74 63 68 49 6e 74 6f 20 66 6f 72 20 74 68 61 74 29 0a 20 a.(it.uses.fetchInto.for.that)..
39a20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 50 6f 73 74 67 72 65 53 51 4c 20 ....*.@param.$result.PostgreSQL.
39a40 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 result.identifier......*.@param.
39a60 20 20 24 66 65 74 63 68 6d 6f 64 65 20 20 66 6f 72 6d 61 74 20 6f 66 20 66 65 74 63 68 65 64 20 ..$fetchmode..format.of.fetched.
39a80 72 6f 77 20 61 72 72 61 79 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 24 72 6f 77 6e 75 row.array......*.@param...$rownu
39aa0 6d 20 20 20 20 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f m.....the.absolute.row.number.to
39ac0 20 66 65 74 63 68 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 20 61 72 .fetch......*......*.@return..ar
39ae0 72 61 79 20 20 20 61 20 72 6f 77 20 6f 66 20 64 61 74 61 2c 20 6f 72 20 66 61 6c 73 65 20 6f 6e ray...a.row.of.data,.or.false.on
39b00 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 .error......*/.....function.fetc
39b20 68 52 6f 77 28 24 72 65 73 75 6c 74 2c 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 44 42 5f 46 45 hRow($result,.$fetchmode.=.DB_FE
39b40 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 TCHMODE_DEFAULT,.$rownum=null)..
39b60 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 20 3d 3d 20 44 ...{.........if.($fetchmode.==.D
39b80 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 B_FETCHMODE_DEFAULT).{..........
39ba0 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 6d 6f 64 65 ...$fetchmode.=.$this->fetchmode
39bc0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 ;.........}.........$res.=.$this
39be0 2d 3e 66 65 74 63 68 49 6e 74 6f 20 28 24 72 65 73 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 ->fetchInto.($result,.$arr,.$fet
39c00 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 chmode,.$rownum);.........if.($r
39c20 65 73 20 21 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 es.!==.DB_OK).{.............retu
39c40 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 rn.$res;.........}.........retur
39c60 6e 20 24 61 72 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 65 74 63 68 49 n.$arr;.....}......//.{{{.fetchI
39c80 6e 74 6f 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 65 74 63 68 20 61 20 72 6f nto()....../**......*.Fetch.a.ro
39ca0 77 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 64 61 74 61 20 69 6e 74 6f 20 61 6e 20 65 78 w.and.insert.the.data.into.an.ex
39cc0 69 73 74 69 6e 67 20 61 72 72 61 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 isting.array.......*......*.@par
39ce0 61 6d 20 24 72 65 73 75 6c 74 20 50 6f 73 74 67 72 65 53 51 4c 20 72 65 73 75 6c 74 20 69 64 65 am.$result.PostgreSQL.result.ide
39d00 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 6f 77 20 28 72 65 66 65 ntifier......*.@param.$row.(refe
39d20 72 65 6e 63 65 29 20 61 72 72 61 79 20 77 68 65 72 65 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 rence).array.where.data.from.the
39d40 20 72 6f 77 20 69 73 20 73 74 6f 72 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 66 65 .row.is.stored......*.@param.$fe
39d60 74 63 68 6d 6f 64 65 20 68 6f 77 20 74 68 65 20 61 72 72 61 79 20 64 61 74 61 20 73 68 6f 75 6c tchmode.how.the.array.data.shoul
39d80 64 20 62 65 20 69 6e 64 65 78 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 6f 77 6e d.be.indexed......*.@param.$rown
39da0 75 6d 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 20 um.the.row.number.to.fetch......
39dc0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 *......*.@return.int.DB_OK.on.su
39de0 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 20 66 61 69 6c 75 72 ccess,.a.DB.error.code.on.failur
39e00 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f e......*/.....function.fetchInto
39e20 28 24 72 65 73 75 6c 74 2c 20 26 24 72 6f 77 2c 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f ($result,.&$row,.$fetchmode,.$ro
39e40 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 6f 77 6e 75 6d wnum=null).....{.........$rownum
39e60 20 3d 20 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 6e 75 6c 6c 29 20 3f 20 24 72 6f 77 6e 75 6d 20 .=.($rownum.!==.null).?.$rownum.
39e80 3a 20 24 74 68 69 73 2d 3e 72 6f 77 5b 24 72 65 73 75 6c 74 5d 3b 0a 20 20 20 20 20 20 20 20 69 :.$this->row[$result];.........i
39ea0 66 20 28 24 72 6f 77 6e 75 6d 20 3e 3d 20 24 74 68 69 73 2d 3e 6e 75 6d 5f 72 6f 77 73 5b 24 72 f.($rownum.>=.$this->num_rows[$r
39ec0 65 73 75 6c 74 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c esult]).{.............return.nul
39ee0 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d l;.........}.........if.($fetchm
39f00 6f 64 65 20 26 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 20 7b 0a 20 20 20 20 ode.&.DB_FETCHMODE_ASSOC).{.....
39f20 20 20 20 20 20 20 20 20 24 72 6f 77 20 3d 20 40 70 67 5f 66 65 74 63 68 5f 61 72 72 61 79 28 24 ........$row.=.@pg_fetch_array($
39f40 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 2c 20 50 47 53 51 4c 5f 41 53 53 4f 43 29 3b 0a 20 result,.$rownum,.PGSQL_ASSOC);..
39f60 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 .......}.else.{.............$row
39f80 20 3d 20 40 70 67 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 .=.@pg_fetch_row($result,.$rownu
39fa0 6d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 6f 77 29 m);.........}.........if.(!$row)
39fc0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 20 3d 20 70 67 5f 65 72 72 6f 72 6d 65 .{.............$err.=.pg_errorme
39fe0 73 73 61 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 ssage($this->connection);.......
3a000 20 20 20 20 20 20 69 66 20 28 21 24 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......if.(!$err).{..............
3a020 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ...return.null;.............}...
3a040 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c 52 61 69 ..........return.$this->pgsqlRai
3a060 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 seError();.........}.........$th
3a080 69 73 2d 3e 72 6f 77 5b 24 72 65 73 75 6c 74 5d 20 3d 20 2b 2b 24 72 6f 77 6e 75 6d 3b 0a 20 20 is->row[$result].=.++$rownum;...
3a0a0 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f ......return.DB_OK;.....}....../
3a0c0 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 72 65 65 52 65 73 75 6c 74 28 29 0a 0a 20 /.}}}.....//.{{{.freeResult()...
3a0e0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 72 65 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 .../**......*.Free.the.internal.
3a100 72 65 73 6f 75 72 63 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 24 72 65 73 75 6c resources.associated.with.$resul
3a120 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 t.......*......*.@param.$result.
3a140 69 6e 74 20 50 6f 73 74 67 72 65 53 51 4c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 int.PostgreSQL.result.identifier
3a160 20 6f 72 20 44 42 20 73 74 61 74 65 6d 65 6e 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 .or.DB.statement.identifier.....
3a180 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 54 52 55 45 20 6f 6e 20 73 .*......*.@return.bool.TRUE.on.s
3a1a0 75 63 63 65 73 73 2c 20 46 41 4c 53 45 20 69 66 20 24 72 65 73 75 6c 74 20 69 73 20 69 6e 76 61 uccess,.FALSE.if.$result.is.inva
3a1c0 6c 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 52 65 73 lid......*/.....function.freeRes
3a1e0 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 ult($result).....{.........if.(i
3a200 73 5f 72 65 73 6f 75 72 63 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 s_resource($result)).{..........
3a220 20 20 20 72 65 74 75 72 6e 20 40 70 67 5f 66 72 65 65 72 65 73 75 6c 74 28 24 72 65 73 75 6c 74 ...return.@pg_freeresult($result
3a240 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 );.........}.........if.(!isset(
3a260 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 $this->prepare_tokens[(int)$resu
3a280 6c 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 lt])).{.............return.false
3a2a0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d ;.........}.........unset($this-
3a2c0 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a >prepare_tokens[(int)$result]);.
3a2e0 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 ........unset($this->prepare_typ
3a300 65 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 es[(int)$result]);.........unset
3a320 28 24 74 68 69 73 2d 3e 72 6f 77 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 ($this->row[(int)$result]);.....
3a340 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6e 75 6d 5f 72 6f 77 73 5b 28 69 6e 74 29 24 ....unset($this->num_rows[(int)$
3a360 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 66 66 65 63 74 65 result]);.........$this->affecte
3a380 64 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 d.=.0;.........return.true;.....
3a3a0 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 71 75 6f 74 65 28 29 }......//.}}}.....//.{{{.quote()
3a3c0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 51 75 6f 74 65 20 74 68 65 20 67 69 76 65 6e 20 73 ...../**.....*.Quote.the.given.s
3a3e0 74 72 69 6e 67 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 75 73 65 64 20 77 tring.so.it.can.be.safely.used.w
3a400 69 74 68 69 6e 20 73 74 72 69 6e 67 20 64 65 6c 69 6d 69 74 65 72 73 0a 20 20 20 20 2a 20 69 6e ithin.string.delimiters.....*.in
3a420 20 61 20 71 75 65 72 79 2e 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 73 74 72 69 6e 67 20 6d .a.query......*.@param.$string.m
3a440 69 78 65 64 20 44 61 74 61 20 74 6f 20 62 65 20 71 75 6f 74 65 64 0a 20 20 20 20 2a 20 40 72 65 ixed.Data.to.be.quoted.....*.@re
3a460 74 75 72 6e 20 6d 69 78 65 64 20 22 4e 55 4c 4c 22 20 73 74 72 69 6e 67 2c 20 71 75 6f 74 65 64 turn.mixed."NULL".string,.quoted
3a480 20 73 74 72 69 6e 67 20 6f 72 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 0a 20 20 20 20 2a 2f 0a .string.or.original.data.....*/.
3a4a0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 28 24 73 74 72 20 3d 20 6e 75 6c 6c 29 0a ....function.quote($str.=.null).
3a4c0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 73 74 72 74 6f 6c 6f 77 65 72 ....{.........switch.(strtolower
3a4e0 28 67 65 74 74 79 70 65 28 24 73 74 72 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 (gettype($str))).{.............c
3a500 61 73 65 20 27 6e 75 6c 6c 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ase.'null':.................retu
3a520 72 6e 20 27 4e 55 4c 4c 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 69 6e 74 rn.'NULL';.............case.'int
3a540 65 67 65 72 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 6f 75 62 6c 65 27 eger':.............case.'double'
3a560 20 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 72 3b 0a .:.................return.$str;.
3a580 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 73 74 72 69 6e 67 27 3a 0a 20 20 20 20 20 ............case.'string':......
3a5a0 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......default:.................
3a5c0 24 73 74 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 27 22 2c 20 24 73 $str.=.str_replace("'",."''",.$s
3a5e0 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 50 6f 73 74 67 72 65 53 51 tr);.................//PostgreSQ
3a600 4c 20 74 72 65 61 74 73 20 61 20 62 61 63 6b 73 6c 61 73 68 20 61 73 20 61 6e 20 65 73 63 61 70 L.treats.a.backslash.as.an.escap
3a620 65 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 e.character..................$st
3a640 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5c 5c 5c 5c 27 2c 20 24 73 r.=.str_replace('\\',.'\\\\',.$s
3a660 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 27 24 73 tr);.................return."'$s
3a680 74 72 27 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d tr'";.........}.....}.....//.}}}
3a6a0 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 43 6f 6c 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 .....//.{{{.numCols()....../**..
3a6c0 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 ....*.Get.the.number.of.columns.
3a6e0 69 6e 20 61 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 in.a.result.set.......*......*.@
3a700 70 61 72 61 6d 20 24 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 20 50 6f 73 74 67 72 65 53 51 param.$result.resource.PostgreSQ
3a720 4c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 L.result.identifier......*......
3a740 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 *.@return.int.the.number.of.colu
3a760 6d 6e 73 20 70 65 72 20 72 6f 77 20 69 6e 20 24 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 2f 0a 20 mns.per.row.in.$result......*/..
3a780 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 ...function.numCols($result)....
3a7a0 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 40 70 67 5f 6e 75 6d 66 69 65 6c 64 73 .{.........$cols.=.@pg_numfields
3a7c0 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b ($result);.........if.(!$cols).{
3a7e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c .............return.$this->pgsql
3a800 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 RaiseError();.........}.........
3a820 72 65 74 75 72 6e 20 24 63 6f 6c 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a return.$cols;.....}......//.}}}.
3a840 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 ....//.{{{.numRows()....../**...
3a860 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 69 6e 20 61 ...*.Get.the.number.of.rows.in.a
3a880 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 .result.set.......*......*.@para
3a8a0 6d 20 24 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 20 50 6f 73 74 67 72 65 53 51 4c 20 72 65 m.$result.resource.PostgreSQL.re
3a8c0 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 sult.identifier......*......*.@r
3a8e0 65 74 75 72 6e 20 69 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 69 6e 20 eturn.int.the.number.of.rows.in.
3a900 24 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d $result......*/.....function.num
3a920 52 6f 77 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 6f 77 Rows($result).....{.........$row
3a940 73 20 3d 20 40 70 67 5f 6e 75 6d 72 6f 77 73 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 s.=.@pg_numrows($result);.......
3a960 20 20 69 66 20 28 24 72 6f 77 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 ..if.($rows.===.null).{.........
3a980 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c 52 61 69 73 65 45 72 72 6f ....return.$this->pgsqlRaiseErro
3a9a0 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 r();.........}.........return.$r
3a9c0 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b ows;.....}......//.}}}.....//.{{
3a9e0 7b 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 {.errorNative()....../**......*.
3aa00 47 65 74 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 66 20 74 68 65 Get.the.native.error.code.of.the
3aa20 20 6c 61 73 74 20 65 72 72 6f 72 20 28 69 66 20 61 6e 79 29 20 74 68 61 74 0a 20 20 20 20 20 2a .last.error.(if.any).that......*
3aa40 20 6f 63 63 75 72 65 64 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 6e 65 63 74 69 .occured.on.the.current.connecti
3aa60 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 6e 61 on.......*......*.@return.int.na
3aa80 74 69 76 65 20 50 6f 73 74 67 72 65 53 51 4c 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 tive.PostgreSQL.error.code......
3aaa0 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 4e 61 74 69 76 65 28 29 0a 20 20 */.....function.errorNative()...
3aac0 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 67 5f 65 72 72 6f 72 6d 65 73 73 61 ..{.........return.pg_errormessa
3aae0 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 ge($this->connection);.....}....
3ab00 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 75 74 6f 43 6f 6d 6d 69 74 28 29 ..//.}}}.....//.{{{.autoCommit()
3ab20 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 ....../**......*.Enable/disable.
3ab40 61 75 74 6f 6d 61 74 69 63 20 63 6f 6d 6d 69 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 automatic.commits......*/.....fu
3ab60 6e 63 74 69 6f 6e 20 61 75 74 6f 43 6f 6d 6d 69 74 28 24 6f 6e 6f 66 66 20 3d 20 66 61 6c 73 65 nction.autoCommit($onoff.=.false
3ab80 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 20 69 66 20 24 74 68 69 73 2d ).....{.........//.XXX.if.$this-
3aba0 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 2c 20 77 65 20 73 68 6f >transaction_opcount.>.0,.we.sho
3abc0 75 6c 64 20 70 72 6f 62 61 62 6c 79 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 73 73 75 65 20 61 20 uld.probably.........//.issue.a.
3abe0 77 61 72 6e 69 6e 67 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 warning.here..........$this->aut
3ac00 6f 63 6f 6d 6d 69 74 20 3d 20 24 6f 6e 6f 66 66 20 3f 20 74 72 75 65 20 3a 20 66 61 6c 73 65 3b ocommit.=.$onoff.?.true.:.false;
3ac20 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 .........return.DB_OK;.....}....
3ac40 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6d 6d 69 74 28 29 0a 0a 20 20 ..//.}}}.....//.{{{.commit()....
3ac60 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6d 6d 69 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 ../**......*.Commit.the.current.
3ac80 74 72 61 6e 73 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f transaction.......*/.....functio
3aca0 6e 20 63 6f 6d 6d 69 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 n.commit().....{.........if.($th
3acc0 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 is->transaction_opcount.>.0).{..
3ace0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 28 64 69 73 61 62 6c 65 64 29 20 68 61 63 6b 20 74 6f ...........//.(disabled).hack.to
3ad00 20 73 68 75 74 20 75 70 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d 20 6c 69 62 .shut.up.error.messages.from.lib
3ad20 70 71 2e 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 40 66 63 6c 6f 73 65 28 40 66 6f 70 65 pq.a.............//@fclose(@fope
3ad40 6e 28 22 70 68 70 3a 2f 2f 73 74 64 65 72 72 22 2c 20 22 77 22 29 29 3b 0a 20 20 20 20 20 20 20 n("php://stderr",."w"));........
3ad60 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e 63 .....$result.=.@pg_exec($this->c
3ad80 6f 6e 6e 65 63 74 69 6f 6e 2c 20 22 65 6e 64 3b 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 onnection,."end;");.............
3ada0 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a $this->transaction_opcount.=.0;.
3adc0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 ............if.(!$result).{.....
3ade0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c 52 ............return.$this->pgsqlR
3ae00 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 aiseError();.............}......
3ae20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d ...}.........return.DB_OK;.....}
3ae40 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 72 6f 6c 6c 62 61 63 6b ......//.}}}.....//.{{{.rollback
3ae60 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 6f 6c 6c 20 62 61 63 6b 20 28 75 6e ()....../**......*.Roll.back.(un
3ae80 64 6f 29 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 72 61 6e 73 61 63 74 69 6f 6e 2e 0a 20 20 20 do).the.current.transaction.....
3aea0 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 29 0a 20 20 20 ..*/.....function.rollback()....
3aec0 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f .{.........if.($this->transactio
3aee0 6e 5f 6f 70 63 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 n_opcount.>.0).{.............$re
3af00 73 75 6c 74 20 3d 20 40 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f sult.=.@pg_exec($this->connectio
3af20 6e 2c 20 22 61 62 6f 72 74 3b 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d n,."abort;");.............$this-
3af40 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 >transaction_opcount.=.0;.......
3af60 20 20 20 20 20 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ......if.(!$result).{...........
3af80 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c 52 61 69 73 65 45 72 ......return.$this->pgsqlRaiseEr
3afa0 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 ror();.............}.........}..
3afc0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .......return.DB_OK;.....}......
3afe0 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 //.}}}.....//.{{{.affectedRows()
3b000 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6e 75 6d 62 65 72 ....../**......*.Gets.the.number
3b020 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 .of.rows.affected.by.the.last.qu
3b040 65 72 79 2e 0a 20 20 20 20 20 2a 20 69 66 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 20 77 61 ery.......*.if.the.last.query.wa
3b060 73 20 61 20 73 65 6c 65 63 74 2c 20 72 65 74 75 72 6e 73 20 30 2e 0a 20 20 20 20 20 2a 0a 20 20 s.a.select,.returns.0.......*...
3b080 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 ...*.@return.int.number.of.rows.
3b0a0 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 20 6f 72 20 44 42 affected.by.the.last.query.or.DB
3b0c0 5f 45 52 52 4f 52 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 66 66 65 _ERROR......*/.....function.affe
3b0e0 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ctedRows().....{.........return.
3b100 24 74 68 69 73 2d 3e 61 66 66 65 63 74 65 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 20 2f 2f 20 7d $this->affected;.....}......//.}
3b120 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 49 64 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a }}.....//.{{{.nextId()....../**.
3b140 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e 20 61 20 73 .....*.Get.the.next.value.in.a.s
3b160 65 71 75 65 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 57 65 20 61 72 65 20 75 73 equence.......*......*.We.are.us
3b180 69 6e 67 20 6e 61 74 69 76 65 20 50 6f 73 74 67 72 65 53 51 4c 20 73 65 71 75 65 6e 63 65 73 2e ing.native.PostgreSQL.sequences.
3b1a0 20 49 66 20 61 20 73 65 71 75 65 6e 63 65 20 64 6f 65 73 0a 20 20 20 20 20 2a 20 6e 6f 74 20 65 .If.a.sequence.does......*.not.e
3b1c0 78 69 73 74 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 2c 20 75 6e 6c 65 73 73 xist,.it.will.be.created,.unless
3b1e0 20 24 6f 6e 64 65 6d 61 6e 64 20 69 73 20 66 61 6c 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 .$ondemand.is.false.......*.....
3b200 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 .*.@access.public......*.@param.
3b220 73 74 72 69 6e 67 20 24 73 65 71 5f 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 string.$seq_name.the.name.of.the
3b240 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 6f 6e .sequence......*.@param.bool.$on
3b260 64 65 6d 61 6e 64 20 77 68 65 74 68 65 72 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 73 65 71 demand.whether.to.create.the.seq
3b280 75 65 6e 63 65 20 6f 6e 20 64 65 6d 61 6e 64 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 uence.on.demand......*.@return.a
3b2a0 20 73 65 71 75 65 6e 63 65 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 .sequence.integer,.or.a.DB.error
3b2c0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 49 64 28 24 73 65 ......*/.....function.nextId($se
3b2e0 71 5f 6e 61 6d 65 2c 20 24 6f 6e 64 65 6d 61 6e 64 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a q_name,.$ondemand.=.true).....{.
3b300 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 ........$seqname.=.$this->getSeq
3b320 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 72 uenceName($seq_name);.........$r
3b340 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 epeat.=.0;.........do.{.........
3b360 20 20 20 20 24 74 68 69 73 2d 3e 70 75 73 68 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 ....$this->pushErrorHandling(PEA
3b380 52 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 R_ERROR_RETURN);.............$re
3b3a0 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 53 45 4c 45 43 54 20 4e 45 58 54 sult.=.$this->query("SELECT.NEXT
3b3c0 56 41 4c 28 27 24 7b 73 65 71 6e 61 6d 65 7d 27 29 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 VAL('${seqname}')");............
3b3e0 20 24 74 68 69 73 2d 3e 70 6f 70 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 29 3b 0a 20 20 20 20 .$this->popErrorHandling();.....
3b400 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 6e 64 65 6d 61 6e 64 20 26 26 20 44 42 3a 3a 69 73 45 ........if.($ondemand.&&.DB::isE
3b420 72 72 6f 72 28 24 72 65 73 75 6c 74 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rror($result).&&................
3b440 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 20 44 42 5f 45 52 52 4f 52 5f .$result->getCode().==.DB_ERROR_
3b460 4e 4f 53 55 43 48 54 41 42 4c 45 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 NOSUCHTABLE).{.................$
3b480 72 65 70 65 61 74 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 repeat.=.1;.................$res
3b4a0 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 65 71 75 65 6e 63 65 28 24 73 65 71 ult.=.$this->createSequence($seq
3b4c0 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a _name);.................if.(DB::
3b4e0 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 isError($result)).{.............
3b500 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 ........return.$this->raiseError
3b520 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ($result);.................}....
3b540 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........}.else.{...............
3b560 20 20 24 72 65 70 65 61 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ..$repeat.=.0;.............}....
3b580 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 24 72 65 70 65 61 74 29 3b 0a 20 20 20 20 20 20 20 20 .....}.while.($repeat);.........
3b5a0 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 if.(DB::isError($result)).{.....
3b5c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 ........return.$this->raiseError
3b5e0 28 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 61 72 ($result);.........}.........$ar
3b600 72 20 3d 20 24 72 65 73 75 6c 74 2d 3e 66 65 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f r.=.$result->fetchRow(DB_FETCHMO
3b620 44 45 5f 4f 52 44 45 52 45 44 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 2d 3e 66 72 DE_ORDERED);.........$result->fr
3b640 65 65 28 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 5b 30 5d 3b 0a 20 20 ee();.........return.$arr[0];...
3b660 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 72 65 61 74 ..}......//.}}}.....//.{{{.creat
3b680 65 53 65 71 75 65 6e 63 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 72 65 61 eSequence()....../**......*.Crea
3b6a0 74 65 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 te.the.sequence......*......*.@p
3b6c0 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 65 71 5f 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f aram.string.$seq_name.the.name.o
3b6e0 66 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 f.the.sequence......*.@return.mi
3b700 78 65 64 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 20 6f 72 20 44 42 20 65 72 72 6f 72 xed.DB_OK.on.success.or.DB.error
3b720 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a .on.error......*.@access.public.
3b740 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 65 71 75 65 .....*/.....function.createSeque
3b760 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 nce($seq_name).....{.........$se
3b780 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 qname.=.$this->getSequenceName($
3b7a0 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 75 73 68 45 72 seq_name);.........$this->pushEr
3b7c0 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 29 3b 0a rorHandling(PEAR_ERROR_RETURN);.
3b7e0 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 ........$result.=.$this->query("
3b800 43 52 45 41 54 45 20 53 45 51 55 45 4e 43 45 20 24 7b 73 65 71 6e 61 6d 65 7d 22 29 3b 0a 20 20 CREATE.SEQUENCE.${seqname}");...
3b820 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 6f 70 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 29 3b ......$this->popErrorHandling();
3b840 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a .........return.$result;.....}..
3b860 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 64 72 6f 70 53 65 71 75 65 6e ....//.}}}.....//.{{{.dropSequen
3b880 63 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 72 6f 70 20 61 20 73 65 71 75 ce()....../**......*.Drop.a.sequ
3b8a0 65 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 ence......*......*.@param.string
3b8c0 20 24 73 65 71 5f 6e 61 6d 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 71 75 65 .$seq_name.the.name.of.the.seque
3b8e0 6e 63 65 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 4f 4b 20 6f nce......*.@return.mixed.DB_OK.o
3b900 6e 20 73 75 63 63 65 73 73 20 6f 72 20 44 42 20 65 72 72 6f 72 20 6f 6e 20 65 72 72 6f 72 0a 20 n.success.or.DB.error.on.error..
3b920 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ....*.@access.public......*/....
3b940 20 66 75 6e 63 74 69 6f 6e 20 64 72 6f 70 53 65 71 75 65 6e 63 65 28 24 73 65 71 5f 6e 61 6d 65 .function.dropSequence($seq_name
3b960 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 71 6e 61 6d 65 20 3d 20 24 74 68 69 73 ).....{.........$seqname.=.$this
3b980 2d 3e 67 65 74 53 65 71 75 65 6e 63 65 4e 61 6d 65 28 24 73 65 71 5f 6e 61 6d 65 29 3b 0a 20 20 ->getSequenceName($seq_name);...
3b9a0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 72 79 28 22 44 52 4f 50 20 ......return.$this->query("DROP.
3b9c0 53 45 51 55 45 4e 43 45 20 24 7b 73 65 71 6e 61 6d 65 7d 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 SEQUENCE.${seqname}");.....}....
3b9e0 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 6d 6f 64 69 66 79 4c 69 6d 69 74 51 ..//.}}}.....//.{{{.modifyLimitQ
3ba00 75 65 72 79 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 64 69 66 79 4c 69 6d 69 74 uery()......function.modifyLimit
3ba20 51 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 66 72 6f 6d 2c 20 24 63 6f 75 6e 74 29 0a 20 20 20 Query($query,.$from,.$count)....
3ba40 20 7b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 20 2e 20 22 20 4c .{.........$query.=.$query...".L
3ba60 49 4d 49 54 20 24 63 6f 75 6e 74 2c 20 24 66 72 6f 6d 22 3b 0a 20 20 20 20 20 20 20 20 72 65 74 IMIT.$count,.$from";.........ret
3ba80 75 72 6e 20 24 71 75 65 72 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 urn.$query;.....}......//.}}}...
3baa0 20 20 2f 2f 20 7b 7b 7b 20 70 67 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 0a 0a 20 20 20 20 ..//.{{{.pgsqlRaiseError()......
3bac0 66 75 6e 63 74 69 6f 6e 20 70 67 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6e 6f 20 function.pgsqlRaiseError($errno.
3bae0 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 61 74 69 76 65 20 3d 20 =.null).....{.........$native.=.
3bb00 24 74 68 69 73 2d 3e 65 72 72 6f 72 4e 61 74 69 76 65 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 $this->errorNative();.........if
3bb20 20 28 24 65 72 72 6e 6f 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .($errno.===.null).{............
3bb40 20 24 65 72 72 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 24 6e 61 74 69 76 65 .$err.=.$this->errorCode($native
3bb60 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 );.........}.else.{.............
3bb80 24 65 72 72 20 3d 20 24 65 72 72 6e 6f 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 $err.=.$errno;.........}........
3bba0 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 2c 20 .return.$this->raiseError($err,.
3bbc0 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 6e 61 74 69 76 65 29 3b 0a 20 20 20 20 null,.null,.null,.$native);.....
3bbe0 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 5f 70 67 46 69 65 6c }......//.}}}.....//.{{{._pgFiel
3bc00 64 46 6c 61 67 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6c 61 67 73 20 6f dFlags()....../**......*.Flags.o
3bc20 66 20 61 20 46 69 65 6c 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 f.a.Field......*......*.@param.i
3bc40 6e 74 20 24 72 65 73 6f 75 72 63 65 20 50 6f 73 74 67 72 65 53 51 4c 20 72 65 73 75 6c 74 20 69 nt.$resource.PostgreSQL.result.i
3bc60 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 6e 75 6d dentifier......*.@param.int.$num
3bc80 5f 66 69 65 6c 64 20 74 68 65 20 66 69 65 6c 64 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 2a 0a 20 _field.the.field.number......*..
3bca0 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 66 6c 61 67 73 20 6f ....*.@return.string.The.flags.o
3bcc0 66 20 74 68 65 20 66 69 65 6c 64 20 28 22 6e 6f 74 5f 6e 75 6c 6c 22 2c 20 22 64 65 66 61 75 6c f.the.field.("not_null",."defaul
3bce0 74 5f 78 78 22 2c 20 22 70 72 69 6d 61 72 79 5f 6b 65 79 22 2c 0a 20 20 20 20 20 2a 20 20 20 20 t_xx",."primary_key",......*....
3bd00 20 20 20 20 20 20 20 20 20 20 20 20 22 75 6e 69 71 75 65 22 20 61 6e 64 20 22 6d 75 6c 74 69 70 ............"unique".and."multip
3bd20 6c 65 5f 6b 65 79 22 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 29 0a 20 20 20 20 20 2a 20 40 61 le_key".are.supported)......*.@a
3bd40 63 63 65 73 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 ccess.private......*/.....functi
3bd60 6f 6e 20 5f 70 67 46 69 65 6c 64 46 6c 61 67 73 28 24 72 65 73 6f 75 72 63 65 2c 20 24 6e 75 6d on._pgFieldFlags($resource,.$num
3bd80 5f 66 69 65 6c 64 2c 20 24 74 61 62 6c 65 5f 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 _field,.$table_name).....{......
3bda0 20 20 20 24 66 69 65 6c 64 5f 6e 61 6d 65 20 3d 20 40 70 67 5f 66 69 65 6c 64 6e 61 6d 65 28 24 ...$field_name.=.@pg_fieldname($
3bdc0 72 65 73 6f 75 72 63 65 2c 20 24 6e 75 6d 5f 66 69 65 6c 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 resource,.$num_field);..........
3bde0 24 72 65 73 75 6c 74 20 3d 20 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 $result.=.pg_exec($this->connect
3be00 69 6f 6e 2c 20 22 53 45 4c 45 43 54 20 66 2e 61 74 74 6e 6f 74 6e 75 6c 6c 2c 20 66 2e 61 74 74 ion,."SELECT.f.attnotnull,.f.att
3be20 68 61 73 64 65 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hasdef..........................
3be40 20 20 20 20 20 20 20 46 52 4f 4d 20 70 67 5f 61 74 74 72 69 62 75 74 65 20 66 2c 20 70 67 5f 63 .......FROM.pg_attribute.f,.pg_c
3be60 6c 61 73 73 20 74 61 62 2c 20 70 67 5f 74 79 70 65 20 74 79 70 0a 20 20 20 20 20 20 20 20 20 20 lass.tab,.pg_type.typ...........
3be80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 52 45 20 74 61 62 2e ......................WHERE.tab.
3bea0 72 65 6c 6e 61 6d 65 20 3d 20 74 79 70 2e 74 79 70 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 relname.=.typ.typname...........
3bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 74 79 70 2e 74 79 ......................AND.typ.ty
3bee0 70 72 65 6c 69 64 20 3d 20 66 2e 61 74 74 72 65 6c 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 prelid.=.f.attrelid.............
3bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 66 2e 61 74 74 6e 61 6d ....................AND.f.attnam
3bf20 65 20 3d 20 27 24 66 69 65 6c 64 5f 6e 61 6d 65 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.=.'$field_name'...............
3bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 74 61 62 2e 72 65 6c 6e 61 6d ..................AND.tab.relnam
3bf60 65 20 3d 20 27 24 74 61 62 6c 65 5f 6e 61 6d 65 27 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 e.=.'$table_name'");.........if.
3bf80 28 70 67 5f 6e 75 6d 72 6f 77 73 28 24 72 65 73 75 6c 74 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 (pg_numrows($result).>.0).{.....
3bfa0 20 20 20 20 20 20 20 20 24 72 6f 77 20 3d 20 70 67 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 ........$row.=.pg_fetch_row($res
3bfc0 75 6c 74 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6c 61 67 73 20 20 3d 20 28 ult,.0);.............$flags..=.(
3bfe0 24 72 6f 77 5b 30 5d 20 3d 3d 20 27 74 27 29 20 3f 20 27 6e 6f 74 5f 6e 75 6c 6c 20 27 20 3a 20 $row[0].==.'t').?.'not_null.'.:.
3c000 27 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 5b 31 5d 20 3d 3d 20 '';..............if.($row[1].==.
3c020 27 74 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 't').{.................$result.=
3c040 20 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 22 53 45 4c .pg_exec($this->connection,."SEL
3c060 45 43 54 20 61 2e 61 64 73 72 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ECT.a.adsrc.....................
3c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 52 4f 4d 20 70 67 5f 61 74 74 72 69 62 75 74 ................FROM.pg_attribut
3c0a0 65 20 66 2c 20 70 67 5f 63 6c 61 73 73 20 74 61 62 2c 20 70 67 5f 74 79 70 65 20 74 79 70 2c 20 e.f,.pg_class.tab,.pg_type.typ,.
3c0c0 70 67 5f 61 74 74 72 64 65 66 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pg_attrdef.a....................
3c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 52 45 20 74 61 62 2e 72 65 6c 6e 61 .................WHERE.tab.relna
3c100 6d 65 20 3d 20 74 79 70 2e 74 79 70 6e 61 6d 65 20 41 4e 44 20 74 79 70 2e 74 79 70 72 65 6c 69 me.=.typ.typname.AND.typ.typreli
3c120 64 20 3d 20 66 2e 61 74 74 72 65 6c 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.=.f.attrelid..................
3c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 66 2e 61 74 74 72 65 6c 69 ...................AND.f.attreli
3c160 64 20 3d 20 61 2e 61 64 72 65 6c 69 64 20 41 4e 44 20 66 2e 61 74 74 6e 61 6d 65 20 3d 20 27 24 d.=.a.adrelid.AND.f.attname.=.'$
3c180 66 69 65 6c 64 5f 6e 61 6d 65 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 field_name'.....................
3c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 74 61 62 2e 72 65 6c 6e 61 6d 65 20 ................AND.tab.relname.
3c1c0 3d 20 27 24 74 61 62 6c 65 5f 6e 61 6d 65 27 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 =.'$table_name'");..............
3c1e0 20 20 20 24 72 6f 77 20 3d 20 70 67 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 75 6c 74 2c 20 ...$row.=.pg_fetch_row($result,.
3c200 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 75 6d 20 3d 20 73 74 72 5f 72 0);.................$num.=.str_r
3c220 65 70 6c 61 63 65 28 27 5c 27 27 2c 20 27 27 2c 20 24 72 6f 77 5b 30 5d 29 3b 0a 0a 20 20 20 20 eplace('\'',.'',.$row[0]);......
3c240 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6c 61 67 73 20 2e 3d 20 22 64 65 66 61 75 6c 74 5f 24 ............$flags..=."default_$
3c260 6e 75 6d 20 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 num.";.............}.........}..
3c280 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e .......$result.=.pg_exec($this->
3c2a0 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 22 53 45 4c 45 43 54 20 69 2e 69 6e 64 69 73 75 6e 69 71 75 connection,."SELECT.i.indisuniqu
3c2c0 65 2c 20 69 2e 69 6e 64 69 73 70 72 69 6d 61 72 79 2c 20 69 2e 69 6e 64 6b 65 79 0a 20 20 20 20 e,.i.indisprimary,.i.indkey.....
3c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 52 4f 4d ............................FROM
3c300 20 70 67 5f 61 74 74 72 69 62 75 74 65 20 66 2c 20 70 67 5f 63 6c 61 73 73 20 74 61 62 2c 20 70 .pg_attribute.f,.pg_class.tab,.p
3c320 67 5f 74 79 70 65 20 74 79 70 2c 20 70 67 5f 69 6e 64 65 78 20 69 0a 20 20 20 20 20 20 20 20 20 g_type.typ,.pg_index.i..........
3c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 52 45 20 74 61 62 .......................WHERE.tab
3c360 2e 72 65 6c 6e 61 6d 65 20 3d 20 74 79 70 2e 74 79 70 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 .relname.=.typ.typname..........
3c380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 74 79 70 2e 74 .......................AND.typ.t
3c3a0 79 70 72 65 6c 69 64 20 3d 20 66 2e 61 74 74 72 65 6c 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 yprelid.=.f.attrelid............
3c3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 66 2e 61 74 74 72 65 .....................AND.f.attre
3c3e0 6c 69 64 20 3d 20 69 2e 69 6e 64 72 65 6c 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lid.=.i.indrelid................
3c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 66 2e 61 74 74 6e 61 6d 65 20 3d .................AND.f.attname.=
3c420 20 27 24 66 69 65 6c 64 5f 6e 61 6d 65 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'$field_name'..................
3c440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 74 61 62 2e 72 65 6c 6e 61 6d 65 20 3d ...............AND.tab.relname.=
3c460 20 27 24 74 61 62 6c 65 5f 6e 61 6d 65 27 22 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 .'$table_name'");.........$count
3c480 20 3d 20 70 67 5f 6e 75 6d 72 6f 77 73 28 24 72 65 73 75 6c 74 29 3b 0a 0a 20 20 20 20 20 20 20 .=.pg_numrows($result);.........
3c4a0 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 63 6f 75 6e 74 20 3b 20 24 69 2b 2b .for.($i.=.0;.$i.<.$count.;.$i++
3c4c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 20 3d 20 70 67 5f 66 65 74 63 68 5f ).{.............$row.=.pg_fetch_
3c4e0 72 6f 77 28 24 72 65 73 75 6c 74 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6b row($result,.$i);.............$k
3c500 65 79 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 20 22 2c 20 24 72 6f 77 5b 32 5d 29 3b 0a 0a 20 20 eys.=.explode(".",.$row[2]);....
3c520 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6e 75 6d 5f 66 69 65 6c ..........if.(in_array($num_fiel
3c540 64 20 2b 20 31 2c 20 24 6b 65 79 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.+.1,.$keys)).{................
3c560 20 24 66 6c 61 67 73 20 2e 3d 20 28 24 72 6f 77 5b 30 5d 20 3d 3d 20 27 74 27 29 20 3f 20 27 75 .$flags..=.($row[0].==.'t').?.'u
3c580 6e 69 71 75 65 20 27 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 nique.'.:.'';.................$f
3c5a0 6c 61 67 73 20 2e 3d 20 28 24 72 6f 77 5b 31 5d 20 3d 3d 20 27 74 27 29 20 3f 20 27 70 72 69 6d lags..=.($row[1].==.'t').?.'prim
3c5c0 61 72 79 20 27 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ary.'.:.'';.................if.(
3c5e0 63 6f 75 6e 74 28 24 6b 65 79 73 29 20 3e 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 count($keys).>.1)...............
3c600 20 20 20 20 20 20 24 66 6c 61 67 73 20 2e 3d 20 27 6d 75 6c 74 69 70 6c 65 5f 6b 65 79 20 27 3b ......$flags..=.'multiple_key.';
3c620 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 .............}.........}........
3c640 20 20 72 65 74 75 72 6e 20 74 72 69 6d 28 24 66 6c 61 67 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 ..return.trim($flags);.....}....
3c660 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 74 61 62 6c 65 49 6e 66 6f 28 29 0a ..//.}}}.....//.{{{.tableInfo().
3c680 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 ...../**......*.Returns.informat
3c6a0 69 6f 6e 20 61 62 6f 75 74 20 61 20 74 61 62 6c 65 20 6f 72 20 61 20 72 65 73 75 6c 74 20 73 65 ion.about.a.table.or.a.result.se
3c6c0 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4e 4f 54 45 3a 20 64 6f 65 73 6e 27 74 20 73 75 t......*......*.NOTE:.doesn't.su
3c6e0 70 70 6f 72 74 20 74 61 62 6c 65 20 6e 61 6d 65 20 61 6e 64 20 66 6c 61 67 73 20 69 66 20 63 61 pport.table.name.and.flags.if.ca
3c700 6c 6c 65 64 20 66 72 6f 6d 20 61 20 64 62 5f 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 lled.from.a.db_result......*....
3c720 20 20 2a 20 40 70 61 72 61 6d 20 20 6d 69 78 65 64 20 24 72 65 73 6f 75 72 63 65 20 50 6f 73 74 ..*.@param..mixed.$resource.Post
3c740 67 72 65 53 51 4c 20 72 65 73 75 6c 74 20 69 64 65 6e 74 69 66 69 65 72 20 6f 72 20 74 61 62 6c greSQL.result.identifier.or.tabl
3c760 65 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 69 6e 74 20 24 6d 6f 64 65 20 e.name......*.@param..int.$mode.
3c780 41 20 76 61 6c 69 64 20 74 61 62 6c 65 49 6e 66 6f 20 6d 6f 64 65 20 28 44 42 5f 54 41 42 4c 45 A.valid.tableInfo.mode.(DB_TABLE
3c7a0 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 20 6f 72 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 INFO_ORDERTABLE.or......*.......
3c7c0 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 0a ............DB_TABLEINFO_ORDER).
3c7e0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 6e 20 61 .....*......*.@return.array.An.a
3c800 72 72 61 79 20 77 69 74 68 20 61 6c 6c 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 rray.with.all.the.information...
3c820 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 49 6e 66 6f 28 24 72 65 ...*/.....function.tableInfo($re
3c840 73 75 6c 74 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 sult,.$mode.=.null).....{.......
3c860 20 20 24 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 69 64 20 20 20 20 3d 20 30 ..$count.=.0;.........$id....=.0
3c880 3b 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 20 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 ;.........$res...=.array();.....
3c8a0 20 20 20 20 20 2f 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 ...../*..........*.depending.on.
3c8c0 24 6d 6f 64 65 2c 20 6d 65 74 61 64 61 74 61 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 6f 6c 6c $mode,.metadata.returns.the.foll
3c8e0 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 owing.values:..........*........
3c900 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 66 61 6c 73 65 20 28 64 65 66 61 75 6c 74 29 3a 0a 20 ..*.-.mode.is.false.(default):..
3c920 20 20 20 20 20 20 20 20 2a 20 24 72 65 73 75 6c 74 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 2a 20 ........*.$result[]:..........*.
3c940 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 ..[0]["table"]..table.name......
3c960 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 69 65 6c 64 20 6e 61 6d 65 ....*...[0]["name"]...field.name
3c980 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 5d 20 20 20 66 69 65 6c ..........*...[0]["type"]...fiel
3c9a0 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6c 65 6e 22 5d 20 20 d.type..........*...[0]["len"]..
3c9c0 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b ..field.length..........*...[0][
3c9e0 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 20 2a "flags"]..field.flags..........*
3ca00 0a 20 20 20 20 20 20 20 20 20 2a 20 2d 20 6d 6f 64 65 20 69 73 20 44 42 5f 54 41 42 4c 45 49 4e ..........*.-.mode.is.DB_TABLEIN
3ca20 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 20 20 20 2a 20 24 72 65 73 75 6c 74 5b 5d 3a 0a 20 FO_ORDER..........*.$result[]:..
3ca40 20 20 20 20 20 20 20 20 2a 20 20 20 5b 22 6e 75 6d 5f 66 69 65 6c 64 73 22 5d 20 6e 75 6d 62 65 ........*...["num_fields"].numbe
3ca60 72 20 6f 66 20 6d 65 74 61 64 61 74 61 20 72 65 63 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 2a r.of.metadata.records..........*
3ca80 20 20 20 5b 30 5d 5b 22 74 61 62 6c 65 22 5d 20 20 74 61 62 6c 65 20 6e 61 6d 65 0a 20 20 20 20 ...[0]["table"]..table.name.....
3caa0 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6e 61 6d 65 22 5d 20 20 20 66 69 65 6c 64 20 6e 61 6d .....*...[0]["name"]...field.nam
3cac0 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 74 79 70 65 22 5d 20 20 20 66 69 65 e..........*...[0]["type"]...fie
3cae0 6c 64 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d 5b 22 6c 65 6e 22 5d 20 ld.type..........*...[0]["len"].
3cb00 20 20 20 66 69 65 6c 64 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 5b 30 5d ...field.length..........*...[0]
3cb20 5b 22 66 6c 61 67 73 22 5d 20 20 66 69 65 6c 64 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 20 ["flags"]..field.flags..........
3cb40 2a 20 20 20 5b 22 6f 72 64 65 72 22 5d 5b 66 69 65 6c 64 20 6e 61 6d 65 5d 20 20 69 6e 64 65 78 *...["order"][field.name]..index
3cb60 20 6f 66 20 66 69 65 6c 64 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 6d 65 22 0a 20 20 20 .of.field.named."field.name"....
3cb80 20 20 20 20 20 20 2a 20 20 20 54 68 65 20 6c 61 73 74 20 6f 6e 65 20 69 73 20 75 73 65 64 2c 20 ......*...The.last.one.is.used,.
3cba0 69 66 20 79 6f 75 20 68 61 76 65 20 61 20 66 69 65 6c 64 20 6e 61 6d 65 2c 20 62 75 74 20 6e 6f if.you.have.a.field.name,.but.no
3cbc0 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 54 65 73 74 3a 20 20 69 66 20 28 .index...........*...Test:..if.(
3cbe0 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 6d 65 74 61 27 5d 5b 27 6d 79 66 69 65 6c 64 27 5d isset($result['meta']['myfield']
3cc00 29 29 20 7b 20 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 2d )).{..............*..........*.-
3cc20 20 6d 6f 64 65 20 69 73 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 .mode.is.DB_TABLEINFO_ORDERTABLE
3cc40 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 61 62 6f 76 65 ..........*....the.same.as.above
3cc60 2e 20 62 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 ..but.additionally..........*...
3cc80 5b 22 6f 72 64 65 72 74 61 62 6c 65 22 5d 5b 74 61 62 6c 65 20 6e 61 6d 65 5d 5b 66 69 65 6c 64 ["ordertable"][table.name][field
3cca0 20 6e 61 6d 65 5d 20 69 6e 64 65 78 20 6f 66 20 66 69 65 6c 64 0a 20 20 20 20 20 20 20 20 20 2a .name].index.of.field..........*
3ccc0 20 20 20 20 20 20 6e 61 6d 65 64 20 22 66 69 65 6c 64 20 6e 61 6d 65 22 0a 20 20 20 20 20 20 20 ......named."field.name"........
3cce0 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 68 69 73 20 69 73 2c 20 62 65 63 ..*..........*......this.is,.bec
3cd00 61 75 73 65 20 69 66 20 79 6f 75 20 68 61 76 65 20 66 69 65 6c 64 73 20 66 72 6f 6d 20 64 69 66 ause.if.you.have.fields.from.dif
3cd20 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 74 61 62 6c 65 73 20 77 69 ferent..........*......tables.wi
3cd40 74 68 20 74 68 65 20 73 61 6d 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 2a 20 74 68 65 79 20 6f 76 th.the.same.field.name.*.they.ov
3cd60 65 72 72 69 64 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 6f 74 68 65 erride.each..........*......othe
3cd80 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 0a 20 20 20 20 20 20 r.with.DB_TABLEINFO_ORDER.......
3cda0 20 20 20 2a 0a 20 20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 79 6f 75 20 63 61 6e 20 63 6f 6d ...*..........*......you.can.com
3cdc0 62 69 6e 65 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 61 6e 64 0a 20 20 20 20 bine.DB_TABLEINFO_ORDER.and.....
3cde0 20 20 20 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 .....*......DB_TABLEINFO_ORDERTA
3ce00 42 4c 45 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 20 7c 0a 20 20 BLE.with.DB_TABLEINFO_ORDER.|...
3ce20 20 20 20 20 20 20 20 2a 20 20 20 20 20 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 .......*......DB_TABLEINFO_ORDER
3ce40 54 41 42 4c 45 20 2a 20 6f 72 20 77 69 74 68 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 46 55 4c TABLE.*.or.with.DB_TABLEINFO_FUL
3ce60 4c 0a 20 20 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 24 72 65 L..........*/..........//.if.$re
3ce80 73 75 6c 74 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 74 68 65 6e 20 77 65 20 77 61 6e 74 20 69 sult.is.a.string,.then.we.want.i
3cea0 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 61 nformation.about.a.........//.ta
3cec0 62 6c 65 20 77 69 74 68 6f 75 74 20 61 20 72 65 73 75 6c 74 73 65 74 0a 0a 20 20 20 20 20 20 20 ble.without.a.resultset.........
3cee0 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 .if.(is_string($result)).{......
3cf00 20 20 20 20 20 20 20 24 69 64 20 3d 20 70 67 5f 65 78 65 63 28 24 74 68 69 73 2d 3e 63 6f 6e 6e .......$id.=.pg_exec($this->conn
3cf20 65 63 74 69 6f 6e 2c 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 24 72 65 73 75 6c 74 22 29 3b ection,"SELECT.*.FROM.$result");
3cf40 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 29 20 7b 0a 20 .............if.(empty($id)).{..
3cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 ...............return.$this->pgs
3cf80 71 6c 52 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 qlRaiseError();.............}...
3cfa0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 2f 2f 20 65 6c 73 65 20 77 65 20 77 61 6e 74 20 69 ......}.else.{.//.else.we.want.i
3cfc0 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 72 65 73 75 6c 74 73 65 74 0a 20 20 20 nformation.about.a.resultset....
3cfe0 20 20 20 20 20 20 20 20 20 24 69 64 20 3d 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 .........$id.=.$result;.........
3d000 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 69 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ....if.(empty($id)).{...........
3d020 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 67 73 71 6c 52 61 69 73 65 45 72 ......return.$this->pgsqlRaiseEr
3d040 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a ror();.............}.........}..
3d060 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 40 70 67 5f 6e 75 6d 66 69 65 6c 64 73 28 24 ........$count.=.@pg_numfields($
3d080 69 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 6d 61 64 65 20 74 68 69 73 20 49 46 20 64 75 id);..........//.made.this.IF.du
3d0a0 65 20 74 6f 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 28 6f 6e 65 20 69 66 20 69 73 20 66 61 73 74 e.to.performance.(one.if.is.fast
3d0c0 65 72 20 74 68 61 6e 20 24 63 6f 75 6e 74 20 69 66 27 73 29 0a 20 20 20 20 20 20 20 20 69 66 20 er.than.$count.if's).........if.
3d0e0 28 65 6d 70 74 79 28 24 6d 6f 64 65 29 29 20 7b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f (empty($mode)).{..............fo
3d100 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 r.($i=0;.$i<$count;.$i++).{.....
3d120 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 20 3d 20 ............$res[$i]['table'].=.
3d140 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 24 72 65 73 75 6c 74 20 3a (is_string($result)).?.$result.:
3d160 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6e .'';.................$res[$i]['n
3d180 61 6d 65 27 5d 20 20 3d 20 40 70 67 5f 66 69 65 6c 64 6e 61 6d 65 20 28 24 69 64 2c 20 24 69 29 ame']..=.@pg_fieldname.($id,.$i)
3d1a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 79 70 65 ;.................$res[$i]['type
3d1c0 27 5d 20 20 3d 20 40 70 67 5f 66 69 65 6c 64 74 79 70 65 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 ']..=.@pg_fieldtype.($id,.$i);..
3d1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6c 65 6e 27 5d 20 20 ...............$res[$i]['len']..
3d200 20 3d 20 40 70 67 5f 66 69 65 6c 64 73 69 7a 65 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 20 20 20 .=.@pg_fieldsize.($id,.$i);.....
3d220 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d 20 3d 20 ............$res[$i]['flags'].=.
3d240 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 24 74 68 69 73 2d 3e 5f 70 (is_string($result)).?.$this->_p
3d260 67 46 69 65 6c 64 66 6c 61 67 73 28 24 69 64 2c 20 24 69 2c 20 24 72 65 73 75 6c 74 29 20 3a 20 gFieldflags($id,.$i,.$result).:.
3d280 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 '';.............}..........}.els
3d2a0 65 20 7b 20 2f 2f 20 66 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 22 6e 75 e.{.//.full.............$res["nu
3d2c0 6d 5f 66 69 65 6c 64 73 22 5d 3d 20 24 63 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 m_fields"]=.$count;.............
3d2e0 20 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 3c 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 20 .for.($i=0;.$i<$count;.$i++).{..
3d300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d ...............$res[$i]['table']
3d320 20 3d 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 24 72 65 73 75 6c .=.(is_string($result)).?.$resul
3d340 74 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d t.:.'';.................$res[$i]
3d360 5b 27 6e 61 6d 65 27 5d 20 20 3d 20 40 70 67 5f 66 69 65 6c 64 6e 61 6d 65 20 28 24 69 64 2c 20 ['name']..=.@pg_fieldname.($id,.
3d380 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 74 $i);.................$res[$i]['t
3d3a0 79 70 65 27 5d 20 20 3d 20 40 70 67 5f 66 69 65 6c 64 74 79 70 65 20 28 24 69 64 2c 20 24 69 29 ype']..=.@pg_fieldtype.($id,.$i)
3d3c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 6c 65 6e 27 ;.................$res[$i]['len'
3d3e0 5d 20 20 20 3d 20 40 70 67 5f 66 69 65 6c 64 73 69 7a 65 20 28 24 69 64 2c 20 24 69 29 3b 0a 20 ]...=.@pg_fieldsize.($id,.$i);..
3d400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 24 69 5d 5b 27 66 6c 61 67 73 27 5d ...............$res[$i]['flags']
3d420 20 3d 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 73 75 6c 74 29 29 20 3f 20 24 74 68 69 73 2d .=.(is_string($result)).?.$this-
3d440 3e 5f 70 67 46 69 65 6c 64 46 6c 61 67 73 28 24 69 64 2c 20 24 69 2c 20 24 72 65 73 75 6c 74 29 >_pgFieldFlags($id,.$i,.$result)
3d460 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 .:.'';.................if.($mode
3d480 20 26 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 20 7b 0a 20 20 20 20 20 20 20 .&.DB_TABLEINFO_ORDER).{........
3d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 27 5d 5b 24 72 65 73 5b .............$res['order'][$res[
3d4c0 24 69 5d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $i]['name']].=.$i;..............
3d4e0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 6f 64 65 20 26 ...}.................if.($mode.&
3d500 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 29 20 7b 0a 20 20 20 20 .DB_TABLEINFO_ORDERTABLE).{.....
3d520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5b 27 6f 72 64 65 72 74 61 62 6c 65 ................$res['ordertable
3d540 27 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 74 61 62 6c 65 27 5d 5d 5b 24 72 65 73 5b 24 69 5d 5b 27 '][$res[$i]['table']][$res[$i]['
3d560 6e 61 6d 65 27 5d 5d 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a name']].=.$i;.................}.
3d580 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ............}.........}.........
3d5a0 20 2f 2f 20 66 72 65 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 6e 6c 79 20 69 66 20 77 65 20 77 .//.free.the.result.only.if.we.w
3d5c0 65 72 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 69 66 ere.called.on.a.table.........if
3d5e0 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 69 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .(is_resource($id)).{...........
3d600 20 20 40 70 67 5f 66 72 65 65 72 65 73 75 6c 74 28 24 69 64 29 3b 0a 20 20 20 20 20 20 20 20 7d ..@pg_freeresult($id);.........}
3d620 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 .........return.$res;.....}.....
3d640 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 54 61 62 6c 65 73 51 75 65 72 .//.}}}.....//.{{{.getTablesQuer
3d660 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 71 y()....../**.....*.Returns.the.q
3d680 75 65 72 79 20 6e 65 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 20 62 61 63 6b 65 6e 64 20 uery.needed.to.get.some.backend.
3d6a0 69 6e 66 6f 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 79 70 65 20 57 info.....*.@param.string.$type.W
3d6c0 68 61 74 20 6b 69 6e 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 hat.kind.of.info.you.want.to.ret
3d6e0 72 69 65 76 65 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 53 rieve.....*.@return.string.The.S
3d700 51 4c 20 71 75 65 72 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 QL.query.string.....*/.....funct
3d720 69 6f 6e 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 65 29 0a 20 20 20 20 7b ion.getSpecialQuery($type).....{
3d740 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 .........switch.($type).{.......
3d760 20 20 20 20 20 20 63 61 73 65 20 27 74 61 62 6c 65 73 27 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ......case.'tables':.{..........
3d780 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 53 45 4c 45 43 54 20 63 2e 72 65 6c 6e 61 6d 65 20 .......$sql.=."SELECT.c.relname.
3d7a0 61 73 20 5c 22 4e 61 6d 65 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 as.\"Name\".....................
3d7c0 20 20 20 20 46 52 4f 4d 20 70 67 5f 63 6c 61 73 73 20 63 2c 20 70 67 5f 75 73 65 72 20 75 0a 20 ....FROM.pg_class.c,.pg_user.u..
3d7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 52 45 20 63 2e 72 .......................WHERE.c.r
3d800 65 6c 6f 77 6e 65 72 20 3d 20 75 2e 75 73 65 73 79 73 69 64 20 41 4e 44 20 63 2e 72 65 6c 6b 69 elowner.=.u.usesysid.AND.c.relki
3d820 6e 64 20 3d 20 27 72 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd.=.'r'........................
3d840 20 41 4e 44 20 6e 6f 74 20 65 78 69 73 74 73 20 28 73 65 6c 65 63 74 20 31 20 66 72 6f 6d 20 70 .AND.not.exists.(select.1.from.p
3d860 67 5f 76 69 65 77 73 20 77 68 65 72 65 20 76 69 65 77 6e 61 6d 65 20 3d 20 63 2e 72 65 6c 6e 61 g_views.where.viewname.=.c.relna
3d880 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 me).........................AND.
3d8a0 63 2e 72 65 6c 6e 61 6d 65 20 21 7e 20 27 5e 70 67 5f 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 c.relname.!~.'^pg_'.............
3d8c0 20 20 20 20 20 20 20 20 20 20 20 20 55 4e 49 4f 4e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............UNION...............
3d8e0 20 20 20 20 20 20 20 20 20 20 53 45 4c 45 43 54 20 63 2e 72 65 6c 6e 61 6d 65 20 61 73 20 5c 22 ..........SELECT.c.relname.as.\"
3d900 4e 61 6d 65 5c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 Name\".........................F
3d920 52 4f 4d 20 70 67 5f 63 6c 61 73 73 20 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ROM.pg_class.c..................
3d940 20 20 20 20 20 20 20 57 48 45 52 45 20 63 2e 72 65 6c 6b 69 6e 64 20 3d 20 27 72 27 0a 20 20 20 .......WHERE.c.relkind.=.'r'....
3d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 6e 6f 74 20 65 78 69 .....................AND.not.exi
3d980 73 74 73 20 28 73 65 6c 65 63 74 20 31 20 66 72 6f 6d 20 70 67 5f 76 69 65 77 73 20 77 68 65 72 sts.(select.1.from.pg_views.wher
3d9a0 65 20 76 69 65 77 6e 61 6d 65 20 3d 20 63 2e 72 65 6c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 e.viewname.=.c.relname).........
3d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 6e 6f 74 20 65 78 69 73 74 73 20 28 ................AND.not.exists.(
3d9e0 73 65 6c 65 63 74 20 31 20 66 72 6f 6d 20 70 67 5f 75 73 65 72 20 77 68 65 72 65 20 75 73 65 73 select.1.from.pg_user.where.uses
3da00 79 73 69 64 20 3d 20 63 2e 72 65 6c 6f 77 6e 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ysid.=.c.relowner)..............
3da20 20 20 20 20 20 20 20 20 20 20 20 41 4e 44 20 63 2e 72 65 6c 6e 61 6d 65 20 21 7e 20 27 5e 70 67 ...........AND.c.relname.!~.'^pg
3da40 5f 27 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 _'";.................break;.....
3da60 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 76 69 65 77 ........}.............case.'view
3da80 73 27 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 61 62 6c 65 20 63 s':.{.................//.Table.c
3daa0 6f 6c 73 3a 20 76 69 65 77 6e 61 6d 65 20 7c 20 76 69 65 77 6f 77 6e 65 72 20 7c 20 64 65 66 69 ols:.viewname.|.viewowner.|.defi
3dac0 6e 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 53 nition.................$sql.=."S
3dae0 45 4c 45 43 54 20 76 69 65 77 6e 61 6d 65 20 46 52 4f 4d 20 70 67 5f 76 69 65 77 73 22 3b 0a 20 ELECT.viewname.FROM.pg_views";..
3db00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 ...............break;...........
3db20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 75 73 65 72 73 27 3a 20 7b 0a ..}.............case.'users':.{.
3db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 6c 73 3a 20 75 73 65 6e 61 6d 65 ................//.cols:.usename
3db60 20 7c 75 73 65 73 79 73 69 64 7c 75 73 65 63 72 65 61 74 65 64 62 7c 75 73 65 74 72 61 63 65 7c .|usesysid|usecreatedb|usetrace|
3db80 75 73 65 73 75 70 65 72 7c 75 73 65 63 61 74 75 70 64 7c 70 61 73 73 77 64 20 20 7c 76 61 6c 75 usesuper|usecatupd|passwd..|valu
3dba0 6e 74 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 27 53 45 4c ntil.................$sql.=.'SEL
3dbc0 45 43 54 20 75 73 65 6e 61 6d 65 20 46 52 4f 4d 20 70 67 5f 75 73 65 72 27 3b 0a 20 20 20 20 20 ECT.usename.FROM.pg_user';......
3dbe0 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ...........break;.............}.
3dc00 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 64 61 74 61 62 61 73 65 73 27 3a 20 7b 0a ............case.'databases':.{.
3dc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 27 53 45 4c 45 43 54 20 64 ................$sql.=.'SELECT.d
3dc40 61 74 6e 61 6d 65 20 46 52 4f 4d 20 70 67 5f 64 61 74 61 62 61 73 65 27 3b 0a 20 20 20 20 20 20 atname.FROM.pg_database';.......
3dc60 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ..........break;.............}..
3dc80 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 66 75 6e 63 74 69 6f 6e 73 27 3a 20 7b 0a 20 ...........case.'functions':.{..
3dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 27 53 45 4c 45 43 54 20 70 72 ...............$sql.=.'SELECT.pr
3dcc0 6f 6e 61 6d 65 20 46 52 4f 4d 20 70 67 5f 70 72 6f 63 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 oname.FROM.pg_proc';............
3dce0 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 .....break;.............}.......
3dd00 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ......default:.................r
3dd20 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 eturn.null;.........}.........re
3dd40 74 75 72 6e 20 24 73 71 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 0a 7d 0a turn.$sql;.....}......//.}}}..}.
3dd60 0a 2f 2f 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 0a 2f 2f 20 74 61 62 2d 77 69 64 74 .//.Local.variables:.//.tab-widt
3dd80 68 3a 20 34 0a 2f 2f 20 63 2d 62 61 73 69 63 2d 6f 66 66 73 65 74 3a 20 34 0a 2f 2f 20 45 6e 64 h:.4.//.c-basic-offset:.4.//.End
3dda0 3a 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 :.?>............................
3ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de00 44 42 2d 31 2e 33 2f 44 42 2f 73 79 62 61 73 65 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/sybase.php............
3de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
3de80 20 20 31 35 34 35 37 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 32 31 31 20 00 00 00 00 00 ..15457..7466465701...7211......
3dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e000 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
3e020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3e040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
3e060 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
3e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
3e0a0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
3e0c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3e0e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
3e100 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
3e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
3e140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3e160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3e180 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
3e1a0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
3e1c0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
3e1e0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
3e200 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
3e220 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
3e240 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
3e260 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
3e280 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
3e2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
3e2c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
3e2e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
3e300 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
3e320 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
3e340 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
3e360 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
3e380 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
3e3a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3e3c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3e3e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 65 72 6c 69 6e 67 20 48 75 67 68 65 ---+.//.|.Author:.Sterling.Hughe
3e400 73 20 3c 73 74 65 72 6c 69 6e 67 40 70 68 70 2e 6e 65 74 3e 20 20 20 20 20 20 20 20 20 20 20 20 s.<sterling@php.net>............
3e420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
3e440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3e460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
3e480 2f 2f 20 24 49 64 3a 20 73 79 62 61 73 65 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 //.$Id:.sybase.php,v.1.3.2002/05
3e4a0 2f 30 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 61 74 /09.12:29:53.ssb.Exp.$.//.//.Dat
3e4c0 61 62 61 73 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 71 75 65 72 79 20 69 6e 74 65 72 66 61 63 abase.independent.query.interfac
3e4e0 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 50 48 50 27 73 20 53 79 62 61 73 65 0a 2f 2f e.definition.for.PHP's.Sybase.//
3e500 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 2f 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 27 44 42 .extension..//..require_once.'DB
3e520 2f 63 6f 6d 6d 6f 6e 2e 70 68 70 27 3b 0a 0a 63 6c 61 73 73 20 44 42 5f 73 79 62 61 73 65 20 65 /common.php';..class.DB_sybase.e
3e540 78 74 65 6e 64 73 20 44 42 5f 63 6f 6d 6d 6f 6e 0a 7b 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 72 xtends.DB_common.{.....//.{{{.pr
3e560 6f 70 65 72 74 69 65 73 0a 0a 20 20 20 20 76 61 72 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 20 operties......var.$connection;..
3e580 20 20 20 76 61 72 20 24 70 68 70 74 79 70 65 2c 20 24 64 62 73 79 6e 74 61 78 3b 0a 20 20 20 20 ...var.$phptype,.$dbsyntax;.....
3e5a0 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 var.$prepare_tokens.=.array();..
3e5c0 20 20 20 76 61 72 20 24 70 72 65 70 61 72 65 5f 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b ...var.$prepare_types.=.array();
3e5e0 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 73 74 72 75 63 ......//.}}}.....//.{{{.construc
3e600 74 6f 72 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f 73 79 62 61 73 65 28 29 0a 20 20 tor......function.DB_sybase()...
3e620 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 42 5f 63 6f 6d 6d 6f 6e 28 29 3b 0a ..{.........$this->DB_common();.
3e640 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 70 74 79 70 65 20 3d 20 27 73 79 62 61 73 65 ........$this->phptype.=.'sybase
3e660 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 62 73 79 6e 74 61 78 20 3d 20 27 73 79 ';.........$this->dbsyntax.=.'sy
3e680 62 61 73 65 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 65 61 74 75 72 65 73 20 3d base';.........$this->features.=
3e6a0 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 65 70 61 72 65 27 20 3d 3e .array(.............'prepare'.=>
3e6c0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 63 6f 6e 6e 65 63 74 27 20 3d .false,.............'pconnect'.=
3e6e0 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 6e 73 61 63 74 69 6f 6e >.true,.............'transaction
3e700 73 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6d 69 74 27 s'.=>.false,.............'limit'
3e720 20 3d 3e 20 27 65 6d 75 6c 61 74 65 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a .=>.'emulate'.........);.....}..
3e740 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 63 6f 6e 6e 65 63 74 28 29 0a ....//.}}}.....//.{{{.connect().
3e760 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 28 24 64 73 6e 69 6e 66 6f 2c 20 .....function.connect($dsninfo,.
3e780 24 70 65 72 73 69 73 74 65 6e 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 $persistent.=.false).....{......
3e7a0 20 20 20 69 66 20 28 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 73 79 62 ...if.(!DB::assertExtension('syb
3e7c0 61 73 65 27 29 20 26 26 20 21 44 42 3a 3a 61 73 73 65 72 74 45 78 74 65 6e 73 69 6f 6e 28 27 73 ase').&&.!DB::assertExtension('s
3e7e0 79 62 61 73 65 5f 63 74 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 ybase_ct')).............return.$
3e800 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 45 58 54 45 4e 53 this->raiseError(DB_ERROR_EXTENS
3e820 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ION_NOT_FOUND);..........$this->
3e840 64 73 6e 20 3d 20 24 64 73 6e 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 24 75 73 65 72 20 3d 20 dsn.=.$dsninfo;.........$user.=.
3e860 24 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 $dsninfo['username'];.........$p
3e880 77 20 20 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 0a 20 20 20 w...=.$dsninfo['password'];.....
3e8a0 20 20 20 20 20 24 64 62 68 6f 73 74 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 .....$dbhost.=.$dsninfo['hostspe
3e8c0 63 27 5d 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3a 20 27 6c 6f c'].?.$dsninfo['hostspec'].:.'lo
3e8e0 63 61 6c 68 6f 73 74 27 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 calhost';.........$connect_funct
3e900 69 6f 6e 20 3d 20 24 70 65 72 73 69 73 74 65 6e 74 20 3f 20 27 73 79 62 61 73 65 5f 70 63 6f 6e ion.=.$persistent.?.'sybase_pcon
3e920 6e 65 63 74 27 20 3a 20 27 73 79 62 61 73 65 5f 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 nect'.:.'sybase_connect';.......
3e940 20 20 20 69 66 20 28 24 64 62 68 6f 73 74 20 26 26 20 24 75 73 65 72 20 26 26 20 24 70 77 29 20 ...if.($dbhost.&&.$user.&&.$pw).
3e960 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 {.............$conn.=.$connect_f
3e980 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 2c 20 24 75 73 65 72 2c 20 24 70 77 29 3b 0a 20 20 unction($dbhost,.$user,.$pw);...
3e9a0 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 62 68 6f 73 74 20 26 26 20 24 75 73 65 72 ......}.elseif.($dbhost.&&.$user
3e9c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 ).{.............$conn.=.$connect
3e9e0 5f 66 75 6e 63 74 69 6f 6e 28 24 64 62 68 6f 73 74 2c 20 24 75 73 65 72 29 3b 0a 20 20 20 20 20 _function($dbhost,.$user);......
3ea00 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 62 68 6f 73 74 29 20 7b 0a 20 20 20 20 20 20 20 20 ...}.elseif.($dbhost).{.........
3ea20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 24 64 ....$conn.=.$connect_function($d
3ea40 62 68 6f 73 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 bhost);.........}.else.{........
3ea60 20 20 20 20 20 24 63 6f 6e 6e 20 3d 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e 63 74 69 6f 6e 28 29 .....$conn.=.$connect_function()
3ea80 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6e 6e 29 ;.........}..........if.(!$conn)
3eaa0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 .{.............return.$this->rai
3eac0 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 44 29 seError(DB_ERROR_CONNECT_FAILED)
3eae0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 73 6e 69 6e 66 ;.........}..........if.($dsninf
3eb00 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 o['database']).{.............if.
3eb20 28 21 40 73 79 62 61 73 65 5f 73 65 6c 65 63 74 5f 64 62 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 (!@sybase_select_db($dsninfo['da
3eb40 74 61 62 61 73 65 27 5d 2c 20 24 63 6f 6e 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tabase'],.$conn)).{.............
3eb60 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f ....return.$this->raiseError(DB_
3eb80 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ERROR_NODBSELECTED);............
3eba0 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e .}.........}.........$this->conn
3ebc0 65 63 74 69 6f 6e 20 3d 20 24 63 6f 6e 6e 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 ection.=.$conn;.........return.D
3ebe0 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b B_OK;.....}......//.}}}.....//.{
3ec00 7b 7b 20 64 69 73 63 6f 6e 6e 65 63 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 69 {{.disconnect()......function.di
3ec20 73 63 6f 6e 6e 65 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 sconnect().....{.........$ret.=.
3ec40 40 73 79 62 61 73 65 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 @sybase_close($this->connection)
3ec60 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 6e 75 ;.........$this->connection.=.nu
3ec80 6c 6c 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 20 20 7d 0a 0a ll;.........return.$ret;.....}..
3eca0 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 69 6d 70 6c 65 51 75 65 72 ....//.}}}.....//.{{{.simpleQuer
3ecc0 79 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 y()......function.simpleQuery($q
3ece0 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f uery).....{.........$this->last_
3ed00 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d query.=.$query;.........$query.=
3ed20 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 51 75 65 72 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 .$this->modifyQuery($query);....
3ed40 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 73 79 62 61 73 65 5f 71 75 65 72 79 28 24 71 75 .....$result.=.@sybase_query($qu
3ed60 65 72 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 ery,.$this->connection);........
3ed80 20 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 .if.(!$result).{.............ret
3eda0 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 urn.$this->raiseError();........
3edc0 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 71 75 .}.........//.Determine.which.qu
3ede0 65 72 69 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 61 74 61 2c 20 61 eries.that.should.return.data,.a
3ee00 6e 64 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 72 65 74 75 72 nd.which.........//.should.retur
3ee20 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 72 65 n.an.error.code.only..........re
3ee40 74 75 72 6e 20 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 20 3f 20 44 42 5f 4f 4b turn.DB::isManip($query).?.DB_OK
3ee60 20 3a 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 .:.$result;.....}......//.}}}...
3ee80 20 20 2f 2f 20 7b 7b 7b 20 6e 65 78 74 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ..//.{{{.nextResult()....../**..
3eea0 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 73 79 62 61 73 65 20 72 ....*.Move.the.internal.sybase.r
3eec0 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 61 76 61 69 6c 61 esult.pointer.to.the.next.availa
3eee0 62 6c 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ble.result......*......*.@param.
3ef00 61 20 76 61 6c 69 64 20 66 62 73 71 6c 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 0a 20 20 a.valid.fbsql.result.resource...
3ef20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 20 ...*......*.@access.public......
3ef40 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 72 75 65 20 69 66 20 61 20 72 65 73 75 6c *......*.@return.true.if.a.resul
3ef60 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 t.is.available.otherwise.return.
3ef80 66 61 6c 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 52 false......*/.....function.nextR
3efa0 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 esult($result).....{.........ret
3efc0 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 urn.false;.....}......//.}}}....
3efe0 20 2f 2f 20 7b 7b 7b 20 66 65 74 63 68 52 6f 77 28 29 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 .//.{{{.fetchRow().....function.
3f000 26 66 65 74 63 68 52 6f 77 28 24 72 65 73 75 6c 74 2c 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 &fetchRow($result,.$fetchmode.=.
3f020 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 DB_FETCHMODE_DEFAULT,.$rownum=nu
3f040 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 65 74 63 68 6d 6f 64 65 ll).....{.........if.($fetchmode
3f060 20 3d 3d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 29 20 7b 0a 20 20 20 20 .==.DB_FETCHMODE_DEFAULT).{.....
3f080 20 20 20 20 20 20 20 20 24 66 65 74 63 68 6d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 ........$fetchmode.=.$this->fetc
3f0a0 68 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 hmode;.........}.........$res.=.
3f0c0 24 74 68 69 73 2d 3e 66 65 74 63 68 49 6e 74 6f 20 28 24 72 65 73 75 6c 74 2c 20 24 61 72 72 2c $this->fetchInto.($result,.$arr,
3f0e0 20 24 66 65 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 69 .$fetchmode,.$rownum);.........i
3f100 66 20 28 24 72 65 73 20 21 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 f.($res.!==.DB_OK).{............
3f120 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 .return.$res;.........}.........
3f140 72 65 74 75 72 6e 20 24 61 72 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 return.$arr;.....}......//.}}}..
3f160 20 20 20 2f 2f 20 7b 7b 7b 20 66 65 74 63 68 49 6e 74 6f 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 ...//.{{{.fetchInto()......funct
3f180 69 6f 6e 20 66 65 74 63 68 49 6e 74 6f 28 24 72 65 73 75 6c 74 2c 20 26 24 61 72 2c 20 24 66 65 ion.fetchInto($result,.&$ar,.$fe
3f1a0 74 63 68 6d 6f 64 65 2c 20 24 72 6f 77 6e 75 6d 3d 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 tchmode,.$rownum=null).....{....
3f1c0 20 20 20 20 20 69 66 20 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 .....if.($rownum.!==.null).{....
3f1e0 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 79 62 61 73 65 5f 64 61 74 61 5f 73 65 65 6b 28 24 .........if.(!sybase_data_seek($
3f200 72 65 73 75 6c 74 2c 20 24 72 6f 77 6e 75 6d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 result,.$rownum)).{.............
3f220 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 29 3b 0a ....return.$this->raiseError();.
3f240 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ............}.........}.........
3f260 24 61 72 20 3d 20 28 24 66 65 74 63 68 6d 6f 64 65 20 26 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 $ar.=.($fetchmode.&.DB_FETCHMODE
3f280 5f 41 53 53 4f 43 29 20 3f 20 40 73 79 62 61 73 65 5f 66 65 74 63 68 5f 61 72 72 61 79 28 24 72 _ASSOC).?.@sybase_fetch_array($r
3f2a0 65 73 75 6c 74 29 20 3a 20 40 73 79 62 61 73 65 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 75 esult).:.@sybase_fetch_row($resu
3f2c0 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 61 72 29 20 7b 0a 20 20 20 20 20 20 20 lt);.........if.(!$ar).{........
3f2e0 20 20 20 20 20 2f 2f 20 72 65 70 6f 72 74 65 64 20 6e 6f 74 20 77 6f 72 6b 20 61 73 20 73 65 65 .....//.reported.not.work.as.see
3f300 6d 73 20 74 68 61 74 20 73 79 62 61 73 65 5f 67 65 74 5f 6c 61 73 74 5f 6d 65 73 73 61 67 65 28 ms.that.sybase_get_last_message(
3f320 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 20 61 ).............//.always.return.a
3f340 20 6d 65 73 73 61 67 65 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 69 66 20 28 .message.here.............//if.(
3f360 24 65 72 72 6d 73 67 20 3d 20 73 79 62 61 73 65 5f 67 65 74 5f 6c 61 73 74 5f 6d 65 73 73 61 67 $errmsg.=.sybase_get_last_messag
3f380 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 72 65 74 75 72 6e 20 e()).{.............//....return.
3f3a0 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 65 72 72 6d 73 67 29 3b 0a 20 20 20 20 $this->raiseError($errmsg);.....
3f3c0 20 20 20 20 20 20 20 20 2f 2f 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........//}.else.{..............
3f3e0 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 7d 0a ...return.null;.............//}.
3f400 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a ........}.........return.DB_OK;.
3f420 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 72 65 ....}......//.}}}.....//.{{{.fre
3f440 65 52 65 73 75 6c 74 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 52 65 73 75 eResult()......function.freeResu
3f460 6c 74 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 lt($result).....{.........if.(is
3f480 5f 72 65 73 6f 75 72 63 65 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 _resource($result)).{...........
3f4a0 20 20 72 65 74 75 72 6e 20 40 73 79 62 61 73 65 5f 66 72 65 65 5f 72 65 73 75 6c 74 28 24 72 65 ..return.@sybase_free_result($re
3f4c0 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 sult);.........}.........if.(!is
3f4e0 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 set($this->prepare_tokens[(int)$
3f500 72 65 73 75 6c 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 result])).{.............return.f
3f520 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 alse;.........}.........unset($t
3f540 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 his->prepare_tokens[(int)$result
3f560 5d 29 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 ]);.........unset($this->prepare
3f580 5f 74 79 70 65 73 5b 28 69 6e 74 29 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 72 _types[(int)$result]);.........r
3f5a0 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 eturn.true;.....}......//.}}}...
3f5c0 20 20 2f 2f 20 7b 7b 7b 20 6e 75 6d 43 6f 6c 73 28 29 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e ..//.{{{.numCols()......function
3f5e0 20 6e 75 6d 43 6f 6c 73 28 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 .numCols($result).....{.........
3f600 24 63 6f 6c 73 20 3d 20 40 73 79 62 61 73 65 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 72 65 73 75 $cols.=.@sybase_num_fields($resu
3f620 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6c 73 29 20 7b 0a 20 20 20 20 20 lt);.........if.(!$cols).{......
3f640 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 .......return.$this->raiseError(
3f660 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6c );.........}.........return.$col
3f680 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 s;.....}......//.}}}.....//.{{{.
3f6a0 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 affectedRows()....../**......*.G
3f6c0 65 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20 ets.the.number.of.rows.affected.
3f6e0 62 79 20 74 68 65 20 64 61 74 61 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 0a 20 20 20 20 20 2a 20 by.the.data.manipulation......*.
3f700 71 75 65 72 79 2e 20 20 46 6f 72 20 6f 74 68 65 72 20 71 75 65 72 69 65 73 2c 20 74 68 69 73 20 query...For.other.queries,.this.
3f720 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 30 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 function.returns.0.......*......
3f740 2a 20 40 72 65 74 75 72 6e 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 *.@return.number.of.rows.affecte
3f760 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 d.by.the.last.query......*/.....
3f780 20 66 75 6e 63 74 69 6f 6e 20 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 0a 20 20 20 20 7b 0a 20 .function.affectedRows().....{..
3f7a0 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 4d 61 6e 69 70 28 24 74 68 69 73 2d 3e 6c 61 .......if.(DB::isManip($this->la
3f7c0 73 74 5f 71 75 65 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 st_query)).{.............$result
3f7e0 20 3d 20 40 73 79 62 61 73 65 5f 61 66 66 65 63 74 65 64 5f 72 6f 77 73 28 24 74 68 69 73 2d 3e .=.@sybase_affected_rows($this->
3f800 63 6f 6e 6e 65 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 connection);.........}.else.{...
3f820 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d ..........$result.=.0;.........}
3f840 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 7d 0a .........return.$result;......}.
3f860 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 67 65 74 53 70 65 63 69 61 .....//.}}}.....//.{{{.getSpecia
3f880 6c 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 lQuery()....../**.....*.Returns.
3f8a0 74 68 65 20 71 75 65 72 79 20 6e 65 65 64 65 64 20 74 6f 20 67 65 74 20 73 6f 6d 65 20 62 61 63 the.query.needed.to.get.some.bac
3f8c0 6b 65 6e 64 20 69 6e 66 6f 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 kend.info.....*.@param.string.$t
3f8e0 79 70 65 20 57 68 61 74 20 6b 69 6e 64 20 6f 66 20 69 6e 66 6f 20 79 6f 75 20 77 61 6e 74 20 74 ype.What.kind.of.info.you.want.t
3f900 6f 20 72 65 74 72 69 65 76 65 0a 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 o.retrieve.....*.@return.string.
3f920 54 68 65 20 53 51 4c 20 71 75 65 72 79 20 73 74 72 69 6e 67 0a 20 20 20 20 2a 2f 0a 20 20 20 20 The.SQL.query.string.....*/.....
3f940 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 70 65 63 69 61 6c 51 75 65 72 79 28 24 74 79 70 65 29 0a function.getSpecialQuery($type).
3f960 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 ....{.........switch.($type).{..
3f980 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 74 61 62 6c 65 73 27 3a 0a 20 20 20 20 20 20 ...........case.'tables':.......
3f9a0 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 73 65 6c 65 63 74 20 6e 61 6d 65 20 66 72 ..........$sql.=."select.name.fr
3f9c0 6f 6d 20 73 79 73 6f 62 6a 65 63 74 73 20 77 68 65 72 65 20 74 79 70 65 20 3d 20 27 55 27 20 6f om.sysobjects.where.type.=.'U'.o
3f9e0 72 64 65 72 20 62 79 20 6e 61 6d 65 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 rder.by.name";.................b
3fa00 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 76 69 65 77 73 27 3a 0a reak;.............case.'views':.
3fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d 20 22 73 65 6c 65 63 74 20 6e ................$sql.=."select.n
3fa40 61 6d 65 20 66 72 6f 6d 20 73 79 73 6f 62 6a 65 63 74 73 20 77 68 65 72 65 20 74 79 70 65 20 3d ame.from.sysobjects.where.type.=
3fa60 20 27 56 27 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 .'V'";.................break;...
3fa80 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........default:..............
3faa0 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ...return.null;.........}.......
3fac0 20 20 72 65 74 75 72 6e 20 24 73 71 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d ..return.$sql;.....}......//.}}}
3fae0 0a 0a 7d 0a 0a 2f 2a 0a 20 2a 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 0a 20 2a 20 74 ..}../*..*.Local.variables:..*.t
3fb00 61 62 2d 77 69 64 74 68 3a 20 34 0a 20 2a 20 63 2d 62 61 73 69 63 2d 6f 66 66 73 65 74 3a 20 34 ab-width:.4..*.c-basic-offset:.4
3fb20 0a 20 2a 20 45 6e 64 3a 0a 20 2a 2f 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..*.End:..*/.?>.................
3fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc00 44 42 2d 31 2e 33 2f 44 42 2f 73 74 6f 72 61 67 65 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/storage.php...........
3fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
3fc80 20 20 33 34 32 37 35 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 33 36 36 20 00 00 00 00 00 ..34275..7466465701...7366......
3fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fe00 3c 3f 70 68 70 0a 2f 2f 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <?php.//.//.+-------------------
3fe20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3fe40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 50 48 50 20 56 65 -------------------+.//.|.PHP.Ve
3fe60 72 73 69 6f 6e 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rsion.4.........................
3fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ...............................|
3fea0 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.+---------------------------
3fec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3fee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 20 7c 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 -----------+.//.|.Copyright.(c).
3ff00 31 39 39 37 2d 32 30 30 32 20 54 68 65 20 50 48 50 20 47 72 6f 75 70 20 20 20 20 20 20 20 20 20 1997-2002.The.PHP.Group.........
3ff20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d .......................|.//.+---
3ff40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3ff60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3ff80 2d 2d 2d 2b 0a 2f 2f 20 7c 20 54 68 69 73 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 73 75 ---+.//.|.This.source.file.is.su
3ffa0 62 6a 65 63 74 20 74 6f 20 76 65 72 73 69 6f 6e 20 32 2e 30 32 20 6f 66 20 74 68 65 20 50 48 50 bject.to.version.2.02.of.the.PHP
3ffc0 20 6c 69 63 65 6e 73 65 2c 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 74 68 61 74 20 69 73 20 62 75 .license,......|.//.|.that.is.bu
3ffe0 6e 64 6c 65 64 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 66 ndled.with.this.package.in.the.f
40000 69 6c 65 20 4c 49 43 45 4e 53 45 2c 20 61 6e 64 20 69 73 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 ile.LICENSE,.and.is........|.//.
40020 7c 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 |.available.through.the.world-wi
40040 64 65 2d 77 65 62 20 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 75 72 6c 3a 20 20 20 20 de-web.at.the.following.url:....
40060 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2e 6e 65 74 .......|.//.|.http://www.php.net
40080 2f 6c 69 63 65 6e 73 65 2f 32 5f 30 32 2e 74 78 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /license/2_02.txt...............
400a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 49 66 20 79 6f 75 ...................|.//.|.If.you
400c0 20 64 69 64 20 6e 6f 74 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 .did.not.receive.a.copy.of.the.P
400e0 48 50 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 61 72 65 20 75 6e 61 62 6c 65 20 74 6f 20 20 20 7c HP.license.and.are.unable.to...|
40100 0a 2f 2f 20 7c 20 6f 62 74 61 69 6e 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c .//.|.obtain.it.through.the.worl
40120 64 2d 77 69 64 65 2d 77 65 62 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 20 61 20 6e 6f 74 65 20 74 d-wide-web,.please.send.a.note.t
40140 6f 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 7c 20 6c 69 63 65 6e 73 65 40 70 68 70 2e 6e 65 o..........|.//.|.license@php.ne
40160 74 20 73 6f 20 77 65 20 63 61 6e 20 6d 61 69 6c 20 79 6f 75 20 61 20 63 6f 70 79 20 69 6d 6d 65 t.so.we.can.mail.you.a.copy.imme
40180 64 69 61 74 65 6c 79 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d diately................|.//.+---
401a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
401c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
401e0 2d 2d 2d 2b 0a 2f 2f 20 7c 20 41 75 74 68 6f 72 3a 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 ---+.//.|.Author:.Stig.Bakken.<s
40200 74 69 67 40 70 68 70 2e 6e 65 74 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tig@php.net>....................
40220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2f 2f 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...............|.//.+-----------
40240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
40260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 2f 2f 0a ---------------------------+.//.
40280 2f 2f 20 24 49 64 3a 20 73 74 6f 72 61 67 65 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 //.$Id:.storage.php,v.1.3.2002/0
402a0 35 2f 30 39 20 31 32 3a 32 39 3a 35 33 20 73 73 62 20 45 78 70 20 24 0a 2f 2f 0a 2f 2f 20 44 42 5/09.12:29:53.ssb.Exp.$.//.//.DB
402c0 5f 73 74 6f 72 61 67 65 3a 20 61 20 63 6c 61 73 73 20 74 68 61 74 20 6c 65 74 73 20 79 6f 75 20 _storage:.a.class.that.lets.you.
402e0 72 65 74 75 72 6e 20 53 51 4c 20 64 61 74 61 20 61 73 20 6f 62 6a 65 63 74 73 20 74 68 61 74 0a return.SQL.data.as.objects.that.
40300 2f 2f 20 63 61 6e 20 62 65 20 6d 61 6e 69 70 75 6c 61 74 65 64 20 61 6e 64 20 74 68 61 74 20 75 //.can.be.manipulated.and.that.u
40320 70 64 61 74 65 73 20 74 68 65 20 64 61 74 61 62 61 73 65 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e pdates.the.database.accordingly.
40340 0a 2f 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 50 45 41 52 2e 70 68 70 22 3b 0a 72 65 .//..require_once."PEAR.php";.re
40360 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 0a 2f 2a 2a 0a 20 2a 20 44 42 5f quire_once."DB.php";../**..*.DB_
40380 73 74 6f 72 61 67 65 20 70 72 6f 76 69 64 65 73 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e 74 65 72 storage.provides.an.object.inter
403a0 66 61 63 65 20 74 6f 20 61 20 74 61 62 6c 65 20 72 6f 77 2e 20 20 49 74 20 6c 65 74 73 0a 20 2a face.to.a.table.row...It.lets..*
403c0 20 79 6f 75 20 61 64 64 2c 20 64 65 6c 65 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 72 6f 77 73 .you.add,.delete.and.change.rows
403e0 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 53 51 4c 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f .without.using.SQL...*..*.@autho
40400 72 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 74 69 67 40 70 68 70 2e 6e 65 74 3e 0a 20 2a 0a r.Stig.Bakken.<stig@php.net>..*.
40420 20 2a 20 40 70 61 63 6b 61 67 65 20 44 42 0a 20 2a 2f 0a 63 6c 61 73 73 20 44 42 5f 73 74 6f 72 .*.@package.DB..*/.class.DB_stor
40440 61 67 65 20 65 78 74 65 6e 64 73 20 50 45 41 52 0a 7b 0a 20 20 20 20 2f 2a 2a 20 74 68 65 20 6e age.extends.PEAR.{...../**.the.n
40460 61 6d 65 20 6f 66 20 74 68 65 20 74 61 62 6c 65 20 28 6f 72 20 76 69 65 77 2c 20 69 66 20 74 68 ame.of.the.table.(or.view,.if.th
40480 65 20 62 61 63 6b 65 6e 64 20 64 61 74 61 62 61 73 65 20 73 75 70 70 6f 72 74 73 0a 20 20 20 20 e.backend.database.supports.....
404a0 20 20 20 20 75 70 64 61 74 65 73 20 69 6e 20 76 69 65 77 73 29 20 77 65 20 68 6f 6c 64 20 64 61 ....updates.in.views).we.hold.da
404c0 74 61 20 66 72 6f 6d 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 5f 74 61 62 6c 65 20 3d 20 6e 75 6c ta.from.*/.....var.$_table.=.nul
404e0 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 20 77 68 69 63 68 20 63 6f 6c 75 6d 6e 28 73 29 20 69 6e 20 74 l;....../**.which.column(s).in.t
40500 68 65 20 74 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73 20 70 72 69 6d 61 72 79 20 6b 65 79 73 2c 20 he.table.contains.primary.keys,.
40520 63 61 6e 20 62 65 20 61 0a 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 66 6f 72 20 73 69 6e 67 can.be.a.........string.for.sing
40540 6c 65 2d 63 6f 6c 75 6d 6e 20 70 72 69 6d 61 72 79 20 6b 65 79 73 2c 20 6f 72 20 61 6e 20 61 72 le-column.primary.keys,.or.an.ar
40560 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 0a 20 20 20 20 20 20 20 20 66 6f 72 20 6d 75 6c 74 69 ray.of.strings.........for.multi
40580 70 6c 65 2d 63 6f 6c 75 6d 6e 20 70 72 69 6d 61 72 79 20 6b 65 79 73 20 2a 2f 0a 20 20 20 20 76 ple-column.primary.keys.*/.....v
405a0 61 72 20 24 5f 6b 65 79 63 6f 6c 75 6d 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 20 ar.$_keycolumn.=.null;....../**.
405c0 44 42 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 6e 64 6c 65 20 75 73 65 64 20 66 6f 72 20 61 6c DB.connection.handle.used.for.al
405e0 6c 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 5f 64 62 68 20 l.transactions.*/.....var.$_dbh.
40600 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 20 61 6e 20 61 73 73 6f 63 20 77 69 74 68 20 74 =.null;....../**.an.assoc.with.t
40620 68 65 20 6e 61 6d 65 73 20 6f 66 20 64 61 74 61 62 61 73 65 20 66 69 65 6c 64 73 20 73 74 6f 72 he.names.of.database.fields.stor
40640 65 64 20 61 73 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 69 6e 20 74 68 69 73 ed.as.properties.........in.this
40660 20 6f 62 6a 65 63 74 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 5f 70 72 6f 70 65 72 74 69 65 73 20 .object.*/.....var.$_properties.
40680 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 20 61 6e 20 61 73 73 6f 63 20 77 69 74 =.array();....../**.an.assoc.wit
406a0 68 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 69 6e h.the.names.of.the.properties.in
406c0 20 74 68 69 73 20 6f 62 6a 65 63 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 68 61 76 65 20 62 .this.object.that.........have.b
406e0 65 65 6e 20 63 68 61 6e 67 65 64 20 73 69 6e 63 65 20 74 68 65 79 20 77 65 72 65 20 66 65 74 63 een.changed.since.they.were.fetc
40700 68 65 64 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 20 2a 2f 0a 20 20 20 20 76 61 72 hed.from.the.database.*/.....var
40720 20 24 5f 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 20 66 .$_changes.=.array();....../**.f
40740 6c 61 67 20 74 68 61 74 20 64 65 63 69 64 65 73 20 69 66 20 64 61 74 61 20 69 6e 20 74 68 69 73 lag.that.decides.if.data.in.this
40760 20 6f 62 6a 65 63 74 20 63 61 6e 20 62 65 20 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 .object.can.be.changed..........
40780 6f 62 6a 65 63 74 73 20 74 68 61 74 20 64 6f 6e 27 74 20 68 61 76 65 20 74 68 65 69 72 20 74 61 objects.that.don't.have.their.ta
407a0 62 6c 65 27 73 20 6b 65 79 20 63 6f 6c 75 6d 6e 20 69 6e 20 74 68 65 69 72 0a 20 20 20 20 20 20 ble's.key.column.in.their.......
407c0 20 20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 73 20 77 69 6c 6c 20 62 65 20 66 6c 61 67 67 65 64 ..property.lists.will.be.flagged
407e0 20 61 73 20 72 65 61 64 2d 6f 6e 6c 79 2e 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 5f 72 65 61 64 .as.read-only..*/.....var.$_read
40800 6f 6e 6c 79 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2a 2a 20 66 75 6e 63 74 69 6f 6e 20 only.=.false;....../**.function.
40820 6f 72 20 6d 65 74 68 6f 64 20 74 68 61 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 76 61 6c 69 or.method.that.implements.a.vali
40840 64 61 74 6f 72 20 66 6f 72 20 66 69 65 6c 64 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 61 72 dator.for.fields.that.........ar
40860 65 20 73 65 74 2c 20 74 68 69 73 20 76 61 6c 69 64 61 74 6f 72 20 66 75 6e 63 74 69 6f 6e 20 72 e.set,.this.validator.function.r
40880 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 66 69 65 6c 64 20 69 73 0a 20 20 20 20 eturns.true.if.the.field.is.....
408a0 20 20 20 20 76 61 6c 69 64 2c 20 66 61 6c 73 65 20 69 66 20 6e 6f 74 20 2a 2f 0a 20 20 20 20 76 ....valid,.false.if.not.*/.....v
408c0 61 72 20 24 5f 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 0a ar.$_validator.=.null;....../**.
408e0 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .....*.Constructor......*......*
40900 20 40 70 61 72 61 6d 20 24 74 61 62 6c 65 20 73 74 72 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 6f .@param.$table.string.the.name.o
40920 66 20 74 68 65 20 64 61 74 61 62 61 73 65 20 74 61 62 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 f.the.database.table......*.....
40940 20 2a 20 40 70 61 72 61 6d 20 24 6b 65 79 63 6f 6c 75 6d 6e 20 6d 69 78 65 64 20 73 74 72 69 6e .*.@param.$keycolumn.mixed.strin
40960 67 20 77 69 74 68 20 6e 61 6d 65 20 6f 66 20 6b 65 79 20 63 6f 6c 75 6d 6e 2c 20 6f 72 20 61 72 g.with.name.of.key.column,.or.ar
40980 72 61 79 20 6f 66 0a 20 20 20 20 20 2a 20 73 74 72 69 6e 67 73 20 69 66 20 74 68 65 20 74 61 62 ray.of......*.strings.if.the.tab
409a0 6c 65 20 68 61 73 20 61 20 70 72 69 6d 61 72 79 20 6b 65 79 20 6f 66 20 6d 6f 72 65 20 74 68 61 le.has.a.primary.key.of.more.tha
409c0 6e 20 6f 6e 65 20 63 6f 6c 75 6d 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 n.one.column......*......*.@para
409e0 6d 20 24 64 62 68 20 6f 62 6a 65 63 74 20 64 61 74 61 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f m.$dbh.object.database.connectio
40a00 6e 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 76 n.object......*......*.@param.$v
40a20 61 6c 69 64 61 74 6f 72 20 6d 69 78 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 6d 65 74 68 6f alidator.mixed.function.or.metho
40a40 64 20 75 73 65 64 20 74 6f 20 76 61 6c 69 64 61 74 65 0a 20 20 20 20 20 2a 20 65 61 63 68 20 6e d.used.to.validate......*.each.n
40a60 65 77 20 76 61 6c 75 65 2c 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 72 65 65 20 70 61 72 61 ew.value,.called.with.three.para
40a80 6d 65 74 65 72 73 3a 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 2a 20 66 meters:.the.name.of.the......*.f
40aa0 69 65 6c 64 2f 63 6f 6c 75 6d 6e 20 74 68 61 74 20 69 73 20 63 68 61 6e 67 69 6e 67 2c 20 61 20 ield/column.that.is.changing,.a.
40ac0 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 20 61 6e 64 0a 20 reference.to.the.new.value.and..
40ae0 20 20 20 20 2a 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 69 73 20 6f 62 6a 65 63 74 ....*.a.reference.to.this.object
40b00 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 44 42 5f ......*......*/.....function.DB_
40b20 73 74 6f 72 61 67 65 28 24 74 61 62 6c 65 2c 20 24 6b 65 79 63 6f 6c 75 6d 6e 2c 20 26 24 64 62 storage($table,.$keycolumn,.&$db
40b40 68 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 h,.$validator.=.null).....{.....
40b60 20 20 20 20 24 74 68 69 73 2d 3e 50 45 41 52 28 27 44 42 5f 45 72 72 6f 72 27 29 3b 0a 20 20 20 ....$this->PEAR('DB_Error');....
40b80 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 74 61 62 6c 65 20 3d 20 24 74 61 62 6c 65 3b 0a 20 20 20 .....$this->_table.=.$table;....
40ba0 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 20 3d 20 24 6b 65 79 63 6f 6c .....$this->_keycolumn.=.$keycol
40bc0 75 6d 6e 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 64 62 68 20 3d 20 24 64 62 68 3b umn;.........$this->_dbh.=.$dbh;
40be0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 72 65 61 64 6f 6e 6c 79 20 3d 20 66 61 6c 73 .........$this->_readonly.=.fals
40c00 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 e;.........$this->_validator.=.$
40c20 76 61 6c 69 64 61 74 6f 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a validator;.....}....../**......*
40c40 20 55 74 69 6c 69 74 79 20 6d 65 74 68 6f 64 20 74 6f 20 62 75 69 6c 64 20 61 20 22 57 48 45 52 .Utility.method.to.build.a."WHER
40c60 45 22 20 63 6c 61 75 73 65 20 74 6f 20 6c 6f 63 61 74 65 20 6f 75 72 73 65 6c 76 65 73 20 69 6e E".clause.to.locate.ourselves.in
40c80 0a 20 20 20 20 20 2a 20 74 68 65 20 74 61 62 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ......*.the.table.......*......*
40ca0 20 58 58 58 20 66 75 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 3a 20 75 73 65 20 72 6f 77 .XXX.future.improvement:.use.row
40cc0 69 64 73 3f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 63 63 65 73 73 20 70 72 69 76 61 ids?......*......*.@access.priva
40ce0 74 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 5f 6d 61 6b 65 57 68 65 te......*/.....function._makeWhe
40d00 72 65 28 24 6b 65 79 76 61 6c 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 re($keyval.=.null).....{........
40d20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 29 .if.(is_array($this->_keycolumn)
40d40 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6b 65 79 76 61 6c 20 3d 3d 3d 20 ).{.............if.($keyval.===.
40d60 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 null).{.................for.($i.
40d80 3d 20 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 =.0;.$i.<.sizeof($this->_keycolu
40da0 6d 6e 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mn);.$i++).{....................
40dc0 20 24 6b 65 79 76 61 6c 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 7b 24 74 68 69 73 2d 3e 5f 6b 65 79 .$keyval[].=.$this->{$this->_key
40de0 63 6f 6c 75 6d 6e 5b 24 69 5d 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 column[$i]};.................}..
40e00 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 77 68 65 72 65 63 ...........}.............$wherec
40e20 6c 61 75 73 65 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 lause.=.'';.............for.($i.
40e40 3d 20 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 =.0;.$i.<.sizeof($this->_keycolu
40e60 6d 6e 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 mn);.$i++).{.................if.
40e80 28 24 69 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ($i.>.0).{.....................$
40ea0 77 68 65 72 65 63 6c 61 75 73 65 20 2e 3d 20 27 20 41 4e 44 20 27 3b 0a 20 20 20 20 20 20 20 20 whereclause..=.'.AND.';.........
40ec0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 68 65 72 65 ........}.................$where
40ee0 63 6c 61 75 73 65 20 2e 3d 20 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 5b 24 69 5d 3b clause..=.$this->_keycolumn[$i];
40f00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 6b 65 .................if.(is_null($ke
40f20 79 76 61 6c 5b 24 69 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 yval[$i])).{....................
40f40 20 2f 2f 20 74 68 65 72 65 27 73 20 6e 6f 74 20 6d 75 63 68 20 70 6f 69 6e 74 20 69 6e 20 68 61 .//.there's.not.much.point.in.ha
40f60 76 69 6e 67 20 61 20 4e 55 4c 4c 20 6b 65 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ving.a.NULL.key,................
40f80 20 20 20 20 20 2f 2f 20 62 75 74 20 77 65 20 73 75 70 70 6f 72 74 20 69 74 20 61 6e 79 77 61 79 .....//.but.we.support.it.anyway
40fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 68 65 72 65 63 6c 61 75 73 .....................$whereclaus
40fc0 65 20 2e 3d 20 27 20 49 53 20 4e 55 4c 4c 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e..=.'.IS.NULL';................
40fe0 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 .}.else.{.....................$w
41000 68 65 72 65 63 6c 61 75 73 65 20 2e 3d 20 27 20 3d 20 27 20 2e 20 24 74 68 69 73 2d 3e 5f 64 62 hereclause..=.'.=.'...$this->_db
41020 68 2d 3e 71 75 6f 74 65 28 24 6b 65 79 76 61 6c 5b 24 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 h->quote($keyval[$i]);..........
41040 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d .......}.............}.........}
41060 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6b 65 79 76 61 6c 20 .else.{.............if.($keyval.
41080 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 65 79 ===.null).{.................$key
410a0 76 61 6c 20 3d 20 40 24 74 68 69 73 2d 3e 7b 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e val.=.@$this->{$this->_keycolumn
410c0 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 77 68 };.............}.............$wh
410e0 65 72 65 63 6c 61 75 73 65 20 3d 20 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 3b 0a 20 ereclause.=.$this->_keycolumn;..
41100 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 6b 65 79 76 61 6c 29 29 ...........if.(is_null($keyval))
41120 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 72 65 27 73 20 6e 6f .{.................//.there's.no
41140 74 20 6d 75 63 68 20 70 6f 69 6e 74 20 69 6e 20 68 61 76 69 6e 67 20 61 20 4e 55 4c 4c 20 6b 65 t.much.point.in.having.a.NULL.ke
41160 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 62 75 74 20 77 65 20 73 75 70 y,.................//.but.we.sup
41180 70 6f 72 74 20 69 74 20 61 6e 79 77 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 port.it.anyway.................$
411a0 77 68 65 72 65 63 6c 61 75 73 65 20 2e 3d 20 27 20 49 53 20 4e 55 4c 4c 27 3b 0a 20 20 20 20 20 whereclause..=.'.IS.NULL';......
411c0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......}.else.{.................
411e0 24 77 68 65 72 65 63 6c 61 75 73 65 20 2e 3d 20 27 20 3d 20 27 20 2e 20 24 74 68 69 73 2d 3e 5f $whereclause..=.'.=.'...$this->_
41200 64 62 68 2d 3e 71 75 6f 74 65 28 24 6b 65 79 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 dbh->quote($keyval);............
41220 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 77 68 65 .}.........}.........return.$whe
41240 72 65 63 6c 61 75 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 reclause;.....}....../**......*.
41260 4d 65 74 68 6f 64 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 44 42 5f 73 Method.used.to.initialize.a.DB_s
41280 74 6f 72 61 67 65 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 2a 20 63 6f torage.object.from.the......*.co
412a0 6e 66 69 67 75 72 65 64 20 74 61 62 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 nfigured.table.......*......*.@p
412c0 61 72 61 6d 20 24 6b 65 79 76 61 6c 20 6d 69 78 65 64 20 74 68 65 20 6b 65 79 5b 73 5d 20 6f 66 aram.$keyval.mixed.the.key[s].of
412e0 20 74 68 65 20 72 6f 77 20 74 6f 20 66 65 74 63 68 20 28 73 74 72 69 6e 67 20 6f 72 20 61 72 72 .the.row.to.fetch.(string.or.arr
41300 61 79 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 44 42 ay)......*......*.@return.int.DB
41320 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 72 6f 72 20 69 66 20 6e 6f _OK.on.success,.a.DB.error.if.no
41340 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 28 24 6b 65 t......*/.....function.setup($ke
41360 79 76 61 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 71 76 61 6c 20 3d 20 24 74 68 69 yval).....{.........$qval.=.$thi
41380 73 2d 3e 5f 64 62 68 2d 3e 71 75 6f 74 65 28 24 6b 65 79 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 s->_dbh->quote($keyval);........
413a0 20 24 77 68 65 72 65 63 6c 61 75 73 65 20 3d 20 24 74 68 69 73 2d 3e 5f 6d 61 6b 65 57 68 65 72 .$whereclause.=.$this->_makeWher
413c0 65 28 24 6b 65 79 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 27 53 45 e($keyval);.........$query.=.'SE
413e0 4c 45 43 54 20 2a 20 46 52 4f 4d 20 27 20 2e 20 24 74 68 69 73 2d 3e 5f 74 61 62 6c 65 20 2e 20 LECT.*.FROM.'...$this->_table...
41400 27 20 57 48 45 52 45 20 27 20 2e 20 24 77 68 65 72 65 63 6c 61 75 73 65 3b 0a 20 20 20 20 20 20 '.WHERE.'...$whereclause;.......
41420 20 20 24 73 74 68 20 3d 20 24 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 71 75 65 72 79 28 24 71 75 65 ..$sth.=.$this->_dbh->query($que
41440 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 73 74 ry);.........if.(DB::isError($st
41460 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 68 3b 0a 20 h)).{.............return.$sth;..
41480 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 6f 77 20 3d 20 24 73 74 68 2d 3e 66 65 .......}.........$row.=.$sth->fe
414a0 74 63 68 52 6f 77 28 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 29 3b 0a 20 20 20 20 tchRow(DB_FETCHMODE_ASSOC);.....
414c0 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 6f 77 29 29 20 7b 0a 20 20 20 ....if.(DB::isError($row)).{....
414e0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 7d 0a .........return.$row;.........}.
41500 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 72 6f 77 29 29 20 7b 0a 20 20 20 20 20 ........if.(empty($row)).{......
41520 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 .......return.$this->raiseError(
41540 6e 75 6c 6c 2c 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 46 4f 55 4e 44 2c 20 6e 75 6c 6c 2c 20 null,.DB_ERROR_NOT_FOUND,.null,.
41560 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 null,...........................
41580 20 20 20 20 20 20 20 20 20 20 20 24 71 75 65 72 79 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a ...........$query,.null,.true);.
415a0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 ........}.........foreach.($row.
415c0 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 as.$key.=>.$value).{............
415e0 20 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 5b 24 6b 65 79 5d 20 3d 20 74 72 75 65 .$this->_properties[$key].=.true
41600 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 24 6b 65 79 20 3d 20 24 76 61 6c ;.............$this->$key.=.$val
41620 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f ue;.........}.........return.DB_
41640 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 72 65 61 74 65 OK;.....}....../**......*.Create
41660 20 61 20 6e 65 77 20 28 65 6d 70 74 79 29 20 72 6f 77 20 69 6e 20 74 68 65 20 63 6f 6e 66 69 67 .a.new.(empty).row.in.the.config
41680 75 72 65 64 20 74 61 62 6c 65 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 2a 20 6f 62 6a 65 63 ured.table.for.this......*.objec
416a0 74 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 28 24 t.......*/.....function.insert($
416c0 6e 65 77 70 6b 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 newpk).....{.........if.(is_arra
416e0 79 28 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 y($this->_keycolumn)).{.........
41700 20 20 20 20 24 70 72 69 6d 61 72 79 6b 65 79 20 3d 20 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c ....$primarykey.=.$this->_keycol
41720 75 6d 6e 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 umn;.........}.else.{...........
41740 20 20 24 70 72 69 6d 61 72 79 6b 65 79 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 5f 6b 65 ..$primarykey.=.array($this->_ke
41760 79 63 6f 6c 75 6d 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 73 65 74 74 ycolumn);.........}.........sett
41780 79 70 65 28 24 6e 65 77 70 6b 2c 20 22 61 72 72 61 79 22 29 3b 0a 20 20 20 20 20 20 20 20 66 6f ype($newpk,."array");.........fo
417a0 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 70 72 69 6d 61 72 79 6b r.($i.=.0;.$i.<.sizeof($primaryk
417c0 65 79 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 6b 76 61 6c 73 ey);.$i++).{.............$pkvals
417e0 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 71 75 6f 74 65 28 24 6e 65 77 70 6b 5b 24 [].=.$this->_dbh->quote($newpk[$
41800 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 73 74 68 20 3d 20 24 i]);.........}..........$sth.=.$
41820 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 24 this->_dbh->query("INSERT.INTO.$
41840 74 68 69 73 2d 3e 5f 74 61 62 6c 65 20 28 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 this->_table.(".................
41860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 6c 6f 64 65 28 22 2c 22 2c ....................implode(",",
41880 20 24 70 72 69 6d 61 72 79 6b 65 79 29 20 2e 20 22 29 20 56 41 4c 55 45 53 28 22 20 2e 0a 20 20 .$primarykey)...").VALUES(".....
418a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
418c0 69 6d 70 6c 6f 64 65 28 22 2c 22 2c 20 24 70 6b 76 61 6c 73 29 20 2e 20 22 29 22 29 3b 0a 20 20 implode(",",.$pkvals)...")");...
418e0 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 73 74 68 29 29 20 7b 0a 20 ......if.(DB::isError($sth)).{..
41900 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 74 68 3b 0a 20 20 20 20 20 20 20 20 ...........return.$sth;.........
41920 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 6e 65 77 70 6b 29 20 3d 3d 20 }.........if.(sizeof($newpk).==.
41940 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 70 6b 20 3d 20 24 6e 65 77 70 6b 1).{.............$newpk.=.$newpk
41960 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 [0];.........}.........$this->se
41980 74 75 70 28 24 6e 65 77 70 6b 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 tup($newpk);.....}....../**.....
419a0 20 2a 20 4f 75 74 70 75 74 20 61 20 73 69 6d 70 6c 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f .*.Output.a.simple.description.o
419c0 66 20 74 68 69 73 20 44 42 5f 73 74 6f 72 61 67 65 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 2a f.this.DB_storage.object.......*
419e0 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 6f 62 6a 65 63 74 20 64 65 73 63 72 69 70 74 69 .@return.string.object.descripti
41a00 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 6f 53 74 72 69 6e 67 on......*/.....function.toString
41a20 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 3d 20 67 65 74 5f 63 6c 61 ().....{.........$info.=.get_cla
41a40 73 73 28 24 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 20 28 74 ss($this);.........$info..=.".(t
41a60 61 62 6c 65 3d 22 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 24 74 68 69 73 2d 3e able=";.........$info..=.$this->
41a80 5f 74 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 2c 20 6b 65 79 63 _table;.........$info..=.",.keyc
41aa0 6f 6c 75 6d 6e 3d 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 74 olumn=";.........if.(is_array($t
41ac0 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 his->_keycolumn)).{.............
41ae0 24 69 6e 66 6f 20 2e 3d 20 22 28 22 20 2e 20 69 6d 70 6c 6f 64 65 28 22 2c 22 2c 20 24 74 68 69 $info..=."("...implode(",",.$thi
41b00 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 29 20 2e 20 22 29 22 3b 0a 20 20 20 20 20 20 20 20 7d 20 s->_keycolumn)...")";.........}.
41b20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 24 74 68 69 else.{.............$info..=.$thi
41b40 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 s->_keycolumn;.........}........
41b60 20 24 69 6e 66 6f 20 2e 3d 20 22 2c 20 64 62 68 3d 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 .$info..=.",.dbh=";.........if.(
41b80 69 73 5f 6f 62 6a 65 63 74 28 24 74 68 69 73 2d 3e 5f 64 62 68 29 29 20 7b 0a 20 20 20 20 20 20 is_object($this->_dbh)).{.......
41ba0 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 24 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 74 6f 53 74 ......$info..=.$this->_dbh->toSt
41bc0 72 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ring();.........}.else.{........
41be0 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 6e 75 6c 6c 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a .....$info..=."null";.........}.
41c00 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 29 22 3b 0a 20 20 20 20 20 20 20 20 69 66 ........$info..=.")";.........if
41c20 20 28 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 29 29 20 7b 0a .(sizeof($this->_properties)).{.
41c40 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 20 5b 6c 6f 61 64 65 64 2c 20 ............$info..=.".[loaded,.
41c60 6b 65 79 3d 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 65 79 6e 61 6d 65 20 3d 20 24 74 key=";.............$keyname.=.$t
41c80 68 69 73 2d 3e 5f 6b 65 79 63 6f 6c 75 6d 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 his->_keycolumn;.............if.
41ca0 28 69 73 5f 61 72 72 61 79 28 24 6b 65 79 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 (is_array($keyname)).{..........
41cc0 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 28 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .......$info..=."(";............
41ce0 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 6b .....for.($i.=.0;.$i.<.sizeof($k
41d00 65 79 6e 61 6d 65 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eyname);.$i++).{................
41d20 20 20 20 20 20 69 66 20 28 24 69 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .....if.($i.>.0).{..............
41d40 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 2c 22 3b 0a 20 20 20 20 20 20 20 ...........$info..=.",";........
41d60 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
41d80 20 20 20 24 69 6e 66 6f 20 2e 3d 20 24 74 68 69 73 2d 3e 24 6b 65 79 6e 61 6d 65 5b 24 69 5d 3b ...$info..=.$this->$keyname[$i];
41da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
41dc0 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 29 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 ...$info..=.")";.............}.e
41de0 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 24 lse.{.................$info..=.$
41e00 74 68 69 73 2d 3e 24 6b 65 79 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 this->$keyname;.............}...
41e20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 5d 22 3b 0a 20 20 20 20 20 20 20 20 ..........$info..=."]";.........
41e40 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 5f 63 68 61 }.........if.(sizeof($this->_cha
41e60 6e 67 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 2e 3d 20 22 20 nges)).{.............$info..=.".
41e80 5b 6d 6f 64 69 66 69 65 64 5d 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 [modified]";.........}.........r
41ea0 65 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 eturn.$info;.....}....../**.....
41ec0 20 2a 20 44 75 6d 70 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 69 73 20 6f 62 6a .*.Dump.the.contents.of.this.obj
41ee0 65 63 74 20 74 6f 20 22 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 22 2e 0a 20 20 20 20 20 2a ect.to."standard.output".......*
41f00 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 /.....function.dump().....{.....
41f20 20 20 20 20 72 65 73 65 74 28 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 29 3b 0a 20 ....reset($this->_properties);..
41f40 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6c 69 73 74 28 24 70 72 6f 70 2c 20 24 66 6f 6f 29 20 .......while.(list($prop,.$foo).
41f60 3d 20 65 61 63 68 28 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 29 29 20 7b 0a 20 20 =.each($this->_properties)).{...
41f80 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 22 24 70 72 6f 70 20 3d 20 22 3b 0a 20 20 20 20 ..........print."$prop.=.";.....
41fa0 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 68 74 6d 6c 65 6e 74 69 74 69 65 73 28 24 74 68 69 73 ........print.htmlentities($this
41fc0 2d 3e 24 70 72 6f 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 22 3c 42 52 ->$prop);.............print."<BR
41fe0 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 >\n";.........}.....}....../**..
42000 20 20 20 20 2a 20 53 74 61 74 69 63 20 6d 65 74 68 6f 64 20 75 73 65 64 20 74 6f 20 63 72 65 61 ....*.Static.method.used.to.crea
42020 74 65 20 6e 65 77 20 44 42 20 73 74 6f 72 61 67 65 20 6f 62 6a 65 63 74 73 2e 0a 20 20 20 20 20 te.new.DB.storage.objects.......
42040 2a 20 40 70 61 72 61 6d 20 24 64 61 74 61 20 61 73 73 6f 63 2e 20 61 72 72 61 79 20 77 68 65 72 *.@param.$data.assoc..array.wher
42060 65 20 74 68 65 20 6b 65 79 73 20 61 72 65 20 74 68 65 20 6e 61 6d 65 73 0a 20 20 20 20 20 2a 20 e.the.keys.are.the.names......*.
42080 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 70 72 6f 70 65 72 74 69 65 73 2f 63 6f 6c 75 6d .............of.properties/colum
420a0 6e 73 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6f 62 6a 65 63 74 20 61 20 6e 65 77 20 69 ns......*.@return.object.a.new.i
420c0 6e 73 74 61 6e 63 65 20 6f 66 20 44 42 5f 73 74 6f 72 61 67 65 20 6f 72 20 61 20 73 75 62 63 6c nstance.of.DB_storage.or.a.subcl
420e0 61 73 73 20 6f 66 20 69 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 ass.of.it......*/.....function.&
42100 63 72 65 61 74 65 28 24 74 61 62 6c 65 2c 20 26 24 64 61 74 61 29 0a 20 20 20 20 7b 0a 20 20 20 create($table,.&$data).....{....
42120 20 20 20 20 20 24 63 6c 61 73 73 6e 61 6d 65 20 3d 20 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 .....$classname.=.get_class($thi
42140 73 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 6e 61 6d s);.........$obj.=.new.$classnam
42160 65 28 24 74 61 62 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 64 61 74 61 29 3b e($table);.........reset($data);
42180 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c .........while.(list($name,.$val
421a0 75 65 29 20 3d 20 65 61 63 68 28 24 64 61 74 61 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ue).=.each($data)).{............
421c0 20 24 6f 62 6a 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 74 72 75 65 .$obj->_properties[$name].=.true
421e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 2d 3e 24 6e 61 6d 65 20 3d 20 26 24 76 61 ;.............$obj->$name.=.&$va
42200 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6f lue;.........}.........return.$o
42220 62 6a 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 61 64 73 20 bj;.....}....../**......*.Loads.
42240 64 61 74 61 20 69 6e 74 6f 20 74 68 69 73 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 67 data.into.this.object.from.the.g
42260 69 76 65 6e 20 71 75 65 72 79 2e 20 20 49 66 20 74 68 69 73 0a 20 20 20 20 20 2a 20 6f 62 6a 65 iven.query...If.this......*.obje
42280 63 74 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 61 69 6e 73 20 74 61 62 6c 65 20 64 61 74 61 2c 20 ct.already.contains.table.data,.
422a0 63 68 61 6e 67 65 73 20 77 69 6c 6c 20 62 65 20 73 61 76 65 64 20 61 6e 64 0a 20 20 20 20 20 2a changes.will.be.saved.and......*
422c0 20 74 68 65 20 6f 62 6a 65 63 74 20 72 65 2d 69 6e 69 74 69 61 6c 69 7a 65 64 20 66 69 72 73 74 .the.object.re-initialized.first
422e0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 71 75 65 72 79 20 53 51 .......*......*.@param.$query.SQ
42300 4c 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 70 61 L.query......*......*.@param.$pa
42320 72 61 6d 73 20 70 61 72 61 6d 65 74 65 72 20 6c 69 73 74 20 69 6e 20 63 61 73 65 20 79 6f 75 20 rams.parameter.list.in.case.you.
42340 77 61 6e 74 20 74 6f 20 75 73 65 0a 20 20 20 20 20 2a 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 want.to.use......*.prepare/execu
42360 74 65 20 6d 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e te.mode......*......*.@return.in
42380 74 20 44 42 5f 4f 4b 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 44 42 5f 57 41 52 4e 49 4e 47 5f 52 t.DB_OK.on.success,.DB_WARNING_R
423a0 45 41 44 5f 4f 4e 4c 59 20 69 66 20 74 68 65 0a 20 20 20 20 20 2a 20 72 65 74 75 72 6e 65 64 20 EAD_ONLY.if.the......*.returned.
423c0 6f 62 6a 65 63 74 20 69 73 20 72 65 61 64 2d 6f 6e 6c 79 20 28 62 65 63 61 75 73 65 20 74 68 65 object.is.read-only.(because.the
423e0 20 6f 62 6a 65 63 74 27 73 20 73 70 65 63 69 66 69 65 64 0a 20 20 20 20 20 2a 20 6b 65 79 20 63 .object's.specified......*.key.c
42400 6f 6c 75 6d 6e 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 20 61 6d 6f 6e 67 20 74 68 65 20 63 6f olumn.was.not.found.among.the.co
42420 6c 75 6d 6e 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 24 71 75 65 72 79 29 2c 0a 20 20 20 20 20 lumns.returned.by.$query),......
42440 2a 20 6f 72 20 61 6e 6f 74 68 65 72 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 69 6e 20 63 61 *.or.another.DB.error.code.in.ca
42460 73 65 20 6f 66 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 2a 2f 0a 2f 2f 20 58 58 58 20 63 6f 6d se.of.errors.......*/.//.XXX.com
42480 6d 65 6e 74 65 64 20 6f 75 74 20 66 6f 72 20 6e 6f 77 0a 2f 2a 0a 20 20 20 20 66 75 6e 63 74 69 mented.out.for.now./*.....functi
424a0 6f 6e 20 6c 6f 61 64 46 72 6f 6d 51 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 70 61 72 61 6d 73 on.loadFromQuery($query,.$params
424c0 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f .=.null).....{.........if.(sizeo
424e0 66 28 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 f($this->_properties)).{........
42500 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 5f 63 68 61 6e 67 65 73 29 .....if.(sizeof($this->_changes)
42520 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 6f 72 65 ).{.................$this->store
42540 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 63 68 61 6e ();.................$this->_chan
42560 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ges.=.array();.............}....
42580 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 20 3d 20 61 72 .........$this->_properties.=.ar
425a0 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 72 6f 77 64 61 74 ray();.........}.........$rowdat
425c0 61 20 3d 20 24 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 67 65 74 52 6f 77 28 24 71 75 65 72 79 2c 20 a.=.$this->_dbh->getRow($query,.
425e0 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 2c 20 24 70 61 72 61 6d 73 29 3b 0a 20 20 DB_FETCHMODE_ASSOC,.$params);...
42600 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 6f 77 64 61 74 61 29 29 ......if.(DB::isError($rowdata))
42620 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 6f 77 64 61 74 61 3b 0a .{.............return.$rowdata;.
42640 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 72 6f 77 64 61 74 61 ........}.........reset($rowdata
42660 29 3b 0a 20 20 20 20 20 20 20 20 24 66 6f 75 6e 64 5f 6b 65 79 63 6f 6c 75 6d 6e 20 3d 20 66 61 );.........$found_keycolumn.=.fa
42680 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6c 69 73 74 28 24 6b 65 79 2c 20 24 lse;.........while.(list($key,.$
426a0 76 61 6c 75 65 29 20 3d 20 65 61 63 68 28 24 72 6f 77 64 61 74 61 29 29 20 7b 0a 20 20 20 20 20 value).=.each($rowdata)).{......
426c0 20 20 20 20 20 20 20 69 66 20 28 24 6b 65 79 20 3d 3d 20 24 74 68 69 73 2d 3e 5f 6b 65 79 63 6f .......if.($key.==.$this->_keyco
426e0 6c 75 6d 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6f 75 6e 64 5f 6b lumn).{.................$found_k
42700 65 79 63 6f 6c 75 6d 6e 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 eycolumn.=.true;.............}..
42720 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 5b 24 6b ...........$this->_properties[$k
42740 65 79 5d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 24 ey].=.true;.............$this->$
42760 6b 65 79 20 3d 20 26 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 key.=.&$value;.............unset
42780 28 24 76 61 6c 75 65 29 3b 20 2f 2f 20 68 61 76 65 20 74 6f 20 75 6e 73 65 74 2c 20 6f 72 20 61 ($value);.//.have.to.unset,.or.a
427a0 6c 6c 20 70 72 6f 70 65 72 74 69 65 73 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ll.properties.will..............
427c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 61 ..............//.refer.to.the.sa
427e0 6d 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 me.value.........}.........if.(!
42800 24 66 6f 75 6e 64 5f 6b 65 79 63 6f 6c 75 6d 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $found_keycolumn).{.............
42820 24 74 68 69 73 2d 3e 5f 72 65 61 64 6f 6e 6c 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 $this->_readonly.=.true;........
42840 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 57 41 52 4e 49 4e 47 5f 52 45 41 44 5f 4f 4e 4c 59 .....return.DB_WARNING_READ_ONLY
42860 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b ;.........}.........return.DB_OK
42880 3b 0a 20 20 20 20 7d 0a 2a 2f 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 64 69 66 ;.....}.*/....../**......*.Modif
428a0 79 20 61 6e 20 61 74 74 72 69 75 74 65 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 y.an.attriute.value.......*/....
428c0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6e 65 77 76 61 6c .function.set($property,.$newval
428e0 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 6f 6e 6c 79 20 63 68 61 6e 67 65 ue).....{.........//.only.change
42900 20 69 66 20 24 70 72 6f 70 65 72 74 79 20 69 73 20 6b 6e 6f 77 6e 20 61 6e 64 20 6f 62 6a 65 63 .if.$property.is.known.and.objec
42920 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 2f 2f 20 72 65 61 64 2d 6f 6e 6c 79 0a 20 20 t.is.not.........//.read-only...
42940 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 5f 72 65 61 64 6f 6e 6c 79 29 20 7b 0a 20 20 ......if.($this->_readonly).{...
42960 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 ..........return.$this->raiseErr
42980 6f 72 28 6e 75 6c 6c 2c 20 44 42 5f 57 41 52 4e 49 4e 47 5f 52 45 41 44 5f 4f 4e 4c 59 2c 20 6e or(null,.DB_WARNING_READ_ONLY,.n
429a0 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ull,............................
429c0 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 ..........null,.null,.null,.true
429e0 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 40 69 73 73 65 74 28 );.........}.........if.(@isset(
42a00 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 $this->_properties[$property])).
42a20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 5f {.............if.(empty($this->_
42a40 76 61 6c 69 64 61 74 6f 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 validator)).{.................$v
42a60 61 6c 69 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 alid.=.true;.............}.else.
42a80 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 69 64 20 3d 20 40 63 61 6c 6c {.................$valid.=.@call
42aa0 5f 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 5f 76 61 6c 69 64 61 74 6f 72 2c 0a 20 20 _user_func($this->_validator,...
42ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
42ae0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 74 61 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 .......$this->_table,...........
42b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ...............................$
42b20 70 72 6f 70 65 72 74 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 property,.......................
42b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 76 61 6c 75 65 2c 0a 20 20 ...................$newvalue,...
42b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
42b80 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 24 70 72 6f 70 65 72 74 79 2c 0a 20 20 20 20 20 20 20 .......$this->$property,........
42ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
42bc0 20 20 24 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ..$this);.............}.........
42be0 20 20 20 20 69 66 20 28 24 76 61 6c 69 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....if.($valid).{...............
42c00 20 20 24 74 68 69 73 2d 3e 24 70 72 6f 70 65 72 74 79 20 3d 20 24 6e 65 77 76 61 6c 75 65 3b 0a ..$this->$property.=.$newvalue;.
42c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 24 74 68 69 73 2d 3e 5f 63 68 61 6e 67 65 73 ................@$this->_changes
42c40 5b 24 70 72 6f 70 65 72 74 79 5d 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 [$property]++;.............}.els
42c60 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 e.{.................return.$this
42c80 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 6e 75 6c 6c 2c 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 ->raiseError(null,.DB_ERROR_INVA
42ca0 4c 49 44 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 LID,.null,......................
42cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 22 69 6e 76 61 6c ....................null,."inval
42ce0 69 64 20 66 69 65 6c 64 3a 20 24 70 72 6f 70 65 72 74 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 id.field:.$property",...........
42d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e ...............................n
42d20 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ull,.true);.............}.......
42d40 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ......return.true;.........}....
42d60 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 6e 75 .....return.$this->raiseError(nu
42d80 6c 6c 2c 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 2c 20 6e 75 6c 6c 2c 0a ll,.DB_ERROR_NOSUCHFIELD,.null,.
42da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
42dc0 20 6e 75 6c 6c 2c 20 22 75 6e 6b 6e 6f 77 6e 20 66 69 65 6c 64 3a 20 24 70 72 6f 70 65 72 74 79 .null,."unknown.field:.$property
42de0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ",..............................
42e00 20 20 20 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a ....null,.true);.....}....../**.
42e20 20 20 20 20 20 2a 20 46 65 74 63 68 20 61 6e 20 61 74 74 72 69 62 75 74 65 20 76 61 6c 75 65 2e .....*.Fetch.an.attribute.value.
42e40 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 61 74 74 ......*......*.@param.string.att
42e60 72 69 62 75 74 65 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 ribute.name......*......*.@retur
42e80 6e 20 61 74 74 72 69 62 75 74 65 20 63 6f 6e 74 65 6e 74 73 2c 20 6f 72 20 6e 75 6c 6c 20 69 66 n.attribute.contents,.or.null.if
42ea0 20 74 68 65 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d 65 20 69 73 0a 20 20 20 20 20 2a 20 75 6e .the.attribute.name.is......*.un
42ec0 6b 6e 6f 77 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 67 65 74 28 known......*/.....function.&get(
42ee0 24 70 72 6f 70 65 72 74 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 6f 6e 6c 79 $property).....{.........//.only
42f00 20 72 65 74 75 72 6e 20 69 66 20 24 70 72 6f 70 65 72 74 79 20 69 73 20 6b 6e 6f 77 6e 0a 20 20 .return.if.$property.is.known...
42f20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 ......if.(isset($this->_properti
42f40 65 73 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 es[$property])).{.............re
42f60 74 75 72 6e 20 24 74 68 69 73 2d 3e 24 70 72 6f 70 65 72 74 79 3b 0a 20 20 20 20 20 20 20 20 7d turn.$this->$property;.........}
42f80 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 .........return.null;.....}.....
42fa0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 73 74 72 75 63 74 6f 72 2c 20 63 61 6c 6c 73 20 44 42 ./**......*.Destructor,.calls.DB
42fc0 5f 73 74 6f 72 61 67 65 3a 3a 73 74 6f 72 65 28 29 20 69 66 20 74 68 65 72 65 20 61 72 65 20 63 _storage::store().if.there.are.c
42fe0 68 61 6e 67 65 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 61 72 65 20 74 6f 20 62 65 20 6b 65 70 hanges......*.that.are.to.be.kep
43000 74 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 5f 44 42 5f 73 74 6f 72 t.......*/.....function._DB_stor
43020 61 67 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 74 age().....{.........if.(empty($t
43040 68 69 73 2d 3e 5f 64 69 73 63 61 72 64 29 20 26 26 20 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e his->_discard).&&.sizeof($this->
43060 5f 63 68 61 6e 67 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e _changes)).{.............$this->
43080 73 74 6f 72 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 store();.........}.........$this
430a0 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 ->_properties.=.array();........
430c0 20 24 74 68 69 73 2d 3e 5f 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 .$this->_changes.=.array();.....
430e0 20 20 20 20 24 74 68 69 73 2d 3e 5f 74 61 62 6c 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a ....$this->_table.=.null;.....}.
43100 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 74 6f 72 65 73 20 63 68 61 6e 67 65 73 20 74 ...../**......*.Stores.changes.t
43120 6f 20 74 68 69 73 20 6f 62 6a 65 63 74 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 o.this.object.in.the.database...
43140 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 44 42 5f 4f 4b 20 6f 72 20 61 20 ....*......*.@return.DB_OK.or.a.
43160 44 42 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 74 DB.error......*/.....function.st
43180 6f 72 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6c 69 73 74 28 ore().....{.........while.(list(
431a0 24 6e 61 6d 65 2c 20 24 63 68 61 6e 67 65 64 29 20 3d 20 65 61 63 68 28 24 74 68 69 73 2d 3e 5f $name,.$changed).=.each($this->_
431c0 63 68 61 6e 67 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 5b changes)).{.............$params[
431e0 5d 20 3d 20 26 24 74 68 69 73 2d 3e 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ].=.&$this->$name;.............$
43200 76 61 72 73 5b 5d 20 3d 20 24 6e 61 6d 65 20 2e 20 27 20 3d 20 3f 27 3b 0a 20 20 20 20 20 20 20 vars[].=.$name...'.=.?';........
43220 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 76 61 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 .}.........if.($vars).{.........
43240 20 20 20 20 24 71 75 65 72 79 20 3d 20 27 55 50 44 41 54 45 20 27 20 2e 20 24 74 68 69 73 2d 3e ....$query.=.'UPDATE.'...$this->
43260 5f 74 61 62 6c 65 20 2e 20 27 20 53 45 54 20 27 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 _table...'.SET.'................
43280 20 20 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 76 61 72 73 29 20 2e 20 27 20 57 48 45 52 ...implode(',.',.$vars)...'.WHER
432a0 45 20 27 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 6d 61 E.'...................$this->_ma
432c0 6b 65 57 68 65 72 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 6d 74 20 3d 20 24 keWhere();.............$stmt.=.$
432e0 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 70 72 65 70 61 72 65 28 24 71 75 65 72 79 29 3b 0a 20 20 20 this->_dbh->prepare($query);....
43300 20 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 65 78 65 .........$res.=.$this->_dbh->exe
43320 63 75 74 65 28 24 73 74 6d 74 2c 20 24 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 cute($stmt,.$params);...........
43340 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 73 29 29 20 7b 0a 20 20 20 20 20 ..if.(DB::isError($res)).{......
43360 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 ...........return.$res;.........
43380 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 63 68 61 6e 67 65 ....}.............$this->_change
433a0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 s.=.array();.........}.........r
433c0 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 eturn.DB_OK;.....}....../**.....
433e0 20 2a 20 52 65 6d 6f 76 65 20 74 68 65 20 72 6f 77 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 .*.Remove.the.row.represented.by
43400 20 74 68 69 73 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a .this.object.from.the.database..
43420 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 44 42 5f 4f .....*......*.@return.mixed.DB_O
43440 4b 20 6f 72 20 61 20 44 42 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 K.or.a.DB.error......*/.....func
43460 74 69 6f 6e 20 72 65 6d 6f 76 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 tion.remove().....{.........if.(
43480 24 74 68 69 73 2d 3e 5f 72 65 61 64 6f 6e 6c 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $this->_readonly).{.............
434a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 6e 75 6c 6c 2c 20 44 return.$this->raiseError(null,.D
434c0 42 5f 57 41 52 4e 49 4e 47 5f 52 45 41 44 5f 4f 4e 4c 59 2c 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 B_WARNING_READ_ONLY,.null,......
434e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
43500 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 null,.null,.null,.true);........
43520 20 7d 0a 20 20 20 20 20 20 20 20 24 71 75 65 72 79 20 3d 20 27 44 45 4c 45 54 45 20 46 52 4f 4d .}.........$query.=.'DELETE.FROM
43540 20 27 20 2e 20 24 74 68 69 73 2d 3e 5f 74 61 62 6c 65 20 2e 27 20 57 48 45 52 45 20 27 2e 0a 20 .'...$this->_table..'.WHERE.'...
43560 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 5f 6d 61 6b 65 57 68 65 72 65 28 29 3b 0a ...........$this->_makeWhere();.
43580 20 20 20 20 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 5f 64 62 68 2d 3e 71 75 65 72 ........$res.=.$this->_dbh->quer
435a0 79 28 24 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 y($query);.........if.(DB::isErr
435c0 6f 72 28 24 72 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 or($res)).{.............return.$
435e0 72 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 res;.........}.........foreach.(
43600 24 74 68 69 73 2d 3e 5f 70 72 6f 70 65 72 74 69 65 73 20 61 73 20 24 70 72 6f 70 20 3d 3e 20 24 $this->_properties.as.$prop.=>.$
43620 66 6f 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e foo).{.............unset($this->
43640 24 70 72 6f 70 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d $prop);.........}.........$this-
43660 3e 5f 70 72 6f 70 65 72 74 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 >_properties.=.array();.........
43680 24 74 68 69 73 2d 3e 5f 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 $this->_changes.=.array();......
436a0 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3f 3e 0a 00 00 00 ...return.DB_OK;.....}.}..?>....
436c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
436e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
437a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
437c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
437e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43800 44 42 2d 31 2e 33 2f 44 42 2f 49 44 45 41 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/IDEAS.................
43820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
43880 20 20 20 36 35 33 37 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 35 37 34 31 20 00 00 00 00 00 ...6537..7466465701...5741......
438a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
438c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
438e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
439a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
439c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
439e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a00 41 62 73 74 72 61 63 74 65 64 20 54 79 70 65 73 20 28 53 74 69 67 29 0a 2d 2d 2d 2d 2d 2d 2d 2d Abstracted.Types.(Stig).--------
43a20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 44 42 20 6e 65 65 64 73 20 61 20 73 65 74 20 ---------------..DB.needs.a.set.
43a40 6f 66 20 74 79 70 65 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 63 of.types.representing.the.most.c
43a60 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 74 79 70 65 73 20 69 6e 0a 61 6c 6c 20 62 61 63 6b 65 6e ommonly.used.types.in.all.backen
43a80 64 73 2e 20 20 54 68 69 73 20 74 79 70 65 20 73 65 74 20 63 6f 75 6c 64 20 61 6c 73 6f 20 62 65 ds...This.type.set.could.also.be
43aa0 20 67 65 61 72 65 64 20 74 6f 77 61 72 64 73 20 69 6e 74 65 67 72 61 74 69 6f 6e 0a 77 69 74 68 .geared.towards.integration.with
43ac0 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 58 4d 4c 2d 52 50 43 2f 53 4f 41 50 20 69 6d 70 6c 65 6d .things.like.XML-RPC/SOAP.implem
43ae0 65 6e 74 61 74 69 6f 6e 73 2c 20 48 54 4d 4c 20 66 6f 72 6d 20 63 6c 61 73 73 65 73 2c 20 65 74 entations,.HTML.form.classes,.et
43b00 63 2e 0a 0a 52 65 61 6c 20 51 75 65 72 79 20 50 61 72 73 65 72 20 28 53 74 69 67 29 0a 2d 2d 2d c...Real.Query.Parser.(Stig).---
43b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 57 69 74 68 20 61 20 72 65 ---------------------..With.a.re
43b40 61 6c 20 71 75 65 72 79 20 70 61 72 73 65 72 2c 20 44 42 20 63 61 6e 20 69 6d 70 6c 65 6d 65 6e al.query.parser,.DB.can.implemen
43b60 74 20 6d 6f 72 65 20 6f 66 20 69 74 73 20 70 6f 72 74 61 62 69 6c 69 74 79 0a 62 61 73 65 64 20 t.more.of.its.portability.based.
43b80 6f 6e 20 74 68 65 20 71 75 65 72 79 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 68 61 76 69 6e 67 20 on.the.query,.instead.of.having.
43ba0 73 75 70 70 6f 72 74 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 0a 65 76 65 72 79 74 68 69 6e 67 support.functions.for.everything
43bc0 2e 20 20 4f 6e 65 20 65 78 61 6d 70 6c 65 20 77 6f 75 6c 64 20 62 65 20 4c 49 4d 49 54 2c 20 61 ...One.example.would.be.LIMIT,.a
43be0 6e 6f 74 68 65 72 20 22 49 4e 53 45 52 54 0a 2e 2e 2e 20 52 45 54 55 52 4e 49 4e 47 22 2e 0a 0a nother."INSERT.....RETURNING"...
43c00 50 6f 72 74 61 62 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 28 53 74 69 67 29 0a 2d 2d 2d Portable.transactions.(Stig).---
43c20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 49 66 20 44 42 -------------------------..If.DB
43c40 20 63 61 6e 20 70 61 72 73 65 20 71 75 65 72 69 65 73 20 65 6e 6f 75 67 68 20 74 6f 20 64 65 74 .can.parse.queries.enough.to.det
43c60 65 72 6d 69 6e 65 20 77 68 61 74 20 74 61 62 6c 65 73 20 61 72 65 20 61 66 66 65 63 74 65 64 0a ermine.what.tables.are.affected.
43c80 62 79 20 71 75 65 72 69 65 73 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 62 6c by.queries,.it.should.be.possibl
43ca0 65 20 74 6f 20 6d 61 6b 65 20 61 20 72 65 70 6c 61 79 61 62 6c 65 20 74 72 61 6e 73 61 63 74 69 e.to.make.a.replayable.transacti
43cc0 6f 6e 0a 6c 6f 67 2e 20 20 47 4e 4f 4d 45 20 75 73 65 73 20 61 6e 20 58 4d 4c 20 66 6f 72 6d 61 on.log...GNOME.uses.an.XML.forma
43ce0 74 20 66 6f 72 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 64 61 74 61 20 74 68 61 74 20 6c 65 t.for.configuration.data.that.le
43d00 74 73 20 79 6f 75 0a 63 68 65 63 6b 70 6f 69 6e 74 20 73 74 61 74 65 20 6f 6e 63 65 20 69 6e 20 ts.you.checkpoint.state.once.in.
43d20 61 20 77 68 69 6c 65 2c 20 61 6e 64 20 72 65 76 65 72 74 20 74 6f 20 74 68 61 74 20 73 74 61 74 a.while,.and.revert.to.that.stat
43d40 65 20 6c 61 74 65 72 2e 0a 57 69 74 68 20 61 20 73 69 6d 69 6c 61 72 20 61 70 70 72 6f 61 63 68 e.later..With.a.similar.approach
43d60 20 66 6f 72 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 69 6e 20 44 42 20 77 65 20 63 61 6e 20 69 .for.transactions.in.DB.we.can.i
43d80 6d 70 6c 65 6d 65 6e 74 0a 70 6f 72 74 61 62 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 61 mplement.portable.transactions.a
43da0 6e 64 20 63 68 65 63 6b 70 6f 69 6e 74 69 6e 67 20 65 76 65 6e 20 66 6f 72 20 74 68 65 20 64 61 nd.checkpointing.even.for.the.da
43dc0 74 61 62 61 73 65 73 20 74 68 61 74 0a 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 20 74 68 65 6d 2e tabases.that.don't.support.them.
43de0 0a 0a 0a 45 72 72 6f 72 20 72 65 70 6f 72 74 69 6e 67 20 63 6c 65 61 6e 2d 75 70 2f 64 65 62 75 ...Error.reporting.clean-up/debu
43e00 67 20 28 54 6f 6d 61 73 29 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d g.(Tomas).----------------------
43e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 4e 6f 77 20 65 61 63 68 20 64 72 69 76 65 72 20 ---------------.Now.each.driver.
43e40 68 61 73 20 69 74 73 20 6f 77 6e 20 72 61 69 73 65 45 72 72 6f 72 20 6d 65 74 68 6f 64 2c 20 63 has.its.own.raiseError.method,.c
43e60 6f 6d 6d 6f 6e 20 68 61 73 20 61 20 72 61 69 73 65 45 72 72 6f 72 20 61 6e 64 0a 44 42 20 68 61 ommon.has.a.raiseError.and.DB.ha
43e80 73 20 61 20 44 42 5f 65 72 72 6f 72 20 63 6c 61 73 73 20 61 6e 64 20 69 74 73 20 6f 77 6e 20 69 s.a.DB_error.class.and.its.own.i
43ea0 73 45 72 72 6f 72 28 29 20 6d 65 74 68 6f 64 2e 20 54 68 69 73 20 65 72 72 6f 72 20 73 74 75 66 sError().method..This.error.stuf
43ec0 66 20 0a 6f 76 65 72 68 65 61 64 20 63 6f 75 6c 64 20 62 65 20 73 69 6d 70 6c 69 66 69 65 64 20 f..overhead.could.be.simplified.
43ee0 77 69 74 68 20 6f 6e 6c 79 20 6f 6e 65 20 72 61 69 73 65 45 72 72 6f 72 2c 20 64 72 6f 70 69 6e with.only.one.raiseError,.dropin
43f00 67 20 74 68 65 20 44 42 20 45 72 72 6f 72 0a 63 6c 61 73 73 20 61 6e 64 20 61 6c 73 6f 20 74 68 g.the.DB.Error.class.and.also.th
43f20 65 20 44 42 3a 3a 69 73 45 72 72 6f 72 28 29 20 28 75 73 65 20 74 68 65 20 50 45 41 52 2e 70 68 e.DB::isError().(use.the.PEAR.ph
43f40 70 20 6f 6e 65 73 20 69 6e 73 74 65 61 64 29 2e 0a 4f 74 68 65 72 20 69 64 65 61 20 63 6f 75 6c p.ones.instead)..Other.idea.coul
43f60 64 20 62 65 20 74 6f 20 61 64 64 20 61 20 73 79 73 74 65 6d 20 66 6f 72 20 61 6c 6c 6f 77 69 6e d.be.to.add.a.system.for.allowin
43f80 67 20 70 65 6f 70 6c 65 20 61 63 63 65 73 73 20 74 6f 20 61 6c 6c 20 74 68 65 0a 71 75 65 72 69 g.people.access.to.all.the.queri
43fa0 65 73 20 73 65 6e 64 65 64 20 62 79 20 50 45 41 52 20 44 42 20 74 6f 20 74 68 65 20 62 61 63 6b es.sended.by.PEAR.DB.to.the.back
43fc0 65 6e 64 2e 20 41 6c 73 6f 20 61 20 6e 65 77 20 50 45 41 52 5f 45 52 52 4f 52 5f 44 45 42 55 47 end..Also.a.new.PEAR_ERROR_DEBUG
43fe0 0a 66 6c 61 67 20 74 68 61 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 28 73 68 6f 77 7c 74 .flag.that.automatically.(show|t
44000 72 69 67 67 65 72 73 29 20 64 65 62 75 67 20 69 6e 66 6f 2c 20 70 65 72 68 61 70 73 0a 77 69 74 riggers).debug.info,.perhaps.wit
44020 68 20 61 20 6e 65 77 20 50 45 41 52 5f 28 57 61 72 6e 69 6e 67 7c 44 65 62 75 67 29 20 6f 62 6a h.a.new.PEAR_(Warning|Debug).obj
44040 65 63 74 2e 0a 0a 51 75 6f 74 65 20 63 6c 65 61 6e 2d 75 70 20 28 53 74 69 67 29 0a 2d 2d 2d 2d ect...Quote.clean-up.(Stig).----
44060 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 31 2e 20 4b 65 65 70 20 71 75 6f 74 65 20 -----------------.1..Keep.quote.
44080 61 6e 64 20 71 75 6f 74 65 53 74 72 69 6e 67 2c 20 62 75 74 20 6d 6f 76 65 20 71 75 6f 74 69 6e and.quoteString,.but.move.quotin
440a0 67 20 6f 66 20 73 74 72 69 6e 67 73 20 62 61 63 6b 20 69 6e 74 6f 0a 20 20 20 71 75 6f 74 65 53 g.of.strings.back.into....quoteS
440c0 74 72 69 6e 67 20 61 6e 64 20 6d 61 6b 65 20 71 75 6f 74 65 20 63 61 6c 6c 20 69 74 20 66 6f 72 tring.and.make.quote.call.it.for
440e0 20 73 74 72 69 6e 67 73 2e 0a 0a 32 2e 20 41 64 64 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 22 6f .strings...2..Add.an.optional."o
44100 70 65 72 61 74 6f 72 22 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 71 75 6f 74 65 20 74 68 61 74 perator".parameter.to.quote.that
44120 20 69 73 20 6f 6e 65 20 6f 66 20 22 3d 22 2c 0a 20 20 20 22 3c 22 2c 20 22 3e 22 20 6f 72 20 22 .is.one.of."=",...."<",.">".or."
44140 3c 3e 22 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 69 6e 73 65 72 74 65 64 20 69 6e 20 66 72 6f <>".that.will.be.inserted.in.fro
44160 6e 74 20 6f 66 20 74 68 65 20 71 75 6f 74 65 64 20 76 61 6c 75 65 0a 20 20 20 75 6e 6c 65 73 73 nt.of.the.quoted.value....unless
44180 20 69 74 20 69 73 20 4e 55 4c 4c 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 20 77 69 .it.is.NULL,.in.which.case.it.wi
441a0 6c 6c 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 22 49 53 22 20 28 66 6f 72 0a 20 20 20 ll.be.converted.to."IS".(for....
441c0 22 3d 22 29 20 6f 72 20 22 49 53 20 4e 4f 54 22 20 28 66 6f 72 20 74 68 65 20 6f 74 68 65 72 73 "=").or."IS.NOT".(for.the.others
441e0 29 2e 0a 0a 41 75 74 6f 20 66 72 65 65 20 73 74 61 74 65 6d 65 6e 74 73 20 28 54 6f 6d 61 73 29 )...Auto.free.statements.(Tomas)
44200 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 42 79 .----------------------------.By
44220 20 73 65 74 74 69 6e 67 20 61 20 70 61 72 61 6d 20 69 6e 20 71 75 65 72 79 28 29 20 6f 72 20 66 .setting.a.param.in.query().or.f
44240 6f 72 20 74 68 65 20 68 6f 6c 65 20 44 42 20 69 6e 73 74 61 6e 63 65 2c 20 50 45 41 52 20 44 42 or.the.hole.DB.instance,.PEAR.DB
44260 0a 63 6f 75 6c 64 20 61 75 74 6f 2d 66 72 65 65 20 72 65 73 75 6c 74 73 20 69 6e 20 44 42 5f 72 .could.auto-free.results.in.DB_r
44280 65 73 75 6c 74 2d 3e 66 65 74 63 68 28 49 6e 74 6f 7c 52 6f 77 29 20 77 68 65 6e 20 74 68 65 20 esult->fetch(Into|Row).when.the.
442a0 64 72 69 76 65 72 0a 72 65 74 75 72 6e 73 20 66 61 6c 73 65 2e 0a 0a 44 61 74 61 74 79 70 65 73 driver.returns.false...Datatypes
442c0 20 69 6e 20 70 72 65 70 61 72 65 20 73 79 6e 74 61 78 20 28 54 6f 6d 61 73 29 0a 2d 2d 2d 2d 2d .in.prepare.syntax.(Tomas).-----
442e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 45 ------------------------------.E
44300 78 74 65 6e 64 20 74 68 65 20 61 63 74 75 61 6c 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 xtend.the.actual.prepare/execute
44320 20 70 6c 61 63 65 68 6f 6c 64 65 72 73 20 74 6f 20 73 75 70 70 6f 72 74 20 64 61 74 61 20 74 79 .placeholders.to.support.data.ty
44340 70 65 73 2c 20 62 6f 74 68 0a 74 6f 20 63 68 65 63 6b 20 74 68 65 20 64 61 74 61 20 69 6e 74 72 pes,.both.to.check.the.data.intr
44360 6f 64 75 63 65 64 20 74 6f 20 74 68 65 20 71 75 65 72 79 20 61 6e 64 20 74 6f 20 22 63 61 73 74 oduced.to.the.query.and.to."cast
44380 22 20 74 68 65 20 72 65 73 75 6c 74 0a 74 6f 20 6e 61 74 69 76 65 20 70 68 70 20 64 61 74 61 20 ".the.result.to.native.php.data.
443a0 74 79 70 65 73 2e 20 45 78 3a 0a 0a 24 73 71 6c 20 3d 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 types..Ex:..$sql.=."INSERT.INTO.
443c0 74 61 62 6c 65 20 56 41 4c 55 45 53 20 28 7b 7b 69 6e 74 28 34 29 7d 7d 2c 20 7b 7b 62 6f 6f 6c table.VALUES.({{int(4)}},.{{bool
443e0 7d 7d 2c 20 7b 7b 64 61 74 65 28 27 59 2d 6d 2d 64 27 29 7d 7d 29 22 3b 0a 24 72 6f 77 20 3d 20 }},.{{date('Y-m-d')}})";.$row.=.
44400 24 64 62 2d 3e 71 75 65 72 79 28 24 73 71 6c 2c 20 61 72 72 61 79 28 38 2c 20 27 74 27 2c 20 27 $db->query($sql,.array(8,.'t',.'
44420 32 30 30 31 2d 30 34 2d 31 27 29 29 3b 0a 0a 46 6f 72 6d 61 74 3a 20 7b 7b 3c 64 61 74 61 5f 74 2001-04-1'));..Format:.{{<data_t
44440 79 70 65 3e 28 3c 70 61 72 61 6d 31 3e 2c 3c 70 61 72 61 6d 32 3e 29 7d 7d 0a 0a 22 70 61 72 61 ype>(<param1>,<param2>)}}.."para
44460 6d 22 20 63 6f 75 6c 64 20 62 65 20 74 68 65 20 6d 61 78 20 6c 65 6e 67 68 74 20 6f 66 20 74 68 m".could.be.the.max.lenght.of.th
44480 65 20 64 61 74 61 2c 20 64 61 74 65 20 66 6f 72 6d 61 74 73 2c 20 6e 6f 74 5f 6e 75 6c 6c 0a 63 e.data,.date.formats,.not_null.c
444a0 68 65 63 6b 73 20 6f 72 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 2e 0a 0a 4f 74 68 65 72 20 hecks.or.default.values...Other.
444c0 69 64 65 61 73 20 63 6f 75 6c 64 20 62 65 3a 0a 0a 31 29 0a 24 73 71 6c 20 3d 20 22 49 4e 53 45 ideas.could.be:..1).$sql.=."INSE
444e0 52 54 20 49 4e 54 4f 20 74 61 62 6c 65 20 56 41 4c 55 45 53 20 28 3f 2c 20 3f 2c 20 3f 29 22 3b RT.INTO.table.VALUES.(?,.?,.?)";
44500 0a 24 73 74 68 20 3d 20 24 64 62 2d 3e 70 72 65 70 61 72 65 28 24 73 71 6c 2c 20 61 72 72 61 79 .$sth.=.$db->prepare($sql,.array
44520 28 27 69 6e 74 28 34 29 27 2c 20 27 62 6f 6f 6c 27 2c 20 27 64 61 74 65 27 29 3b 0a 24 72 65 73 ('int(4)',.'bool',.'date');.$res
44540 20 3d 20 24 64 62 2d 3e 65 78 65 63 75 74 65 28 24 73 74 68 2c 20 61 72 72 61 79 28 24 61 2c 20 .=.$db->execute($sth,.array($a,.
44560 24 62 2c 20 24 63 29 3b 0a 0a 32 29 0a 24 73 71 6c 20 3d 20 22 49 4e 53 45 52 54 20 49 4e 54 4f $b,.$c);..2).$sql.=."INSERT.INTO
44580 20 74 61 62 6c 65 20 56 41 4c 55 45 53 20 28 3f 2c 20 3f 2c 20 3f 29 22 3b 0a 24 70 61 72 61 6d .table.VALUES.(?,.?,.?)";.$param
445a0 73 20 3d 20 61 72 72 61 79 28 0a 09 30 20 3d 3e 20 61 72 72 61 79 28 24 61 2c 20 27 69 6e 74 28 s.=.array(..0.=>.array($a,.'int(
445c0 34 29 27 29 2c 0a 09 31 20 3d 3e 20 61 72 72 61 79 28 24 62 2c 20 27 62 6f 6f 6c 27 29 0a 29 3b 4)'),..1.=>.array($b,.'bool').);
445e0 0a 24 72 65 73 20 3d 20 24 64 62 2d 3e 71 75 65 72 79 28 24 73 71 6c 2c 20 24 70 61 72 61 6d 73 .$res.=.$db->query($sql,.$params
44600 29 3b 0a 0a 41 75 74 6f 20 63 6f 6e 6e 65 63 74 20 66 65 61 74 75 72 65 20 28 54 6f 6d 61 73 29 );..Auto.connect.feature.(Tomas)
44620 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 41 64 .----------------------------.Ad
44640 64 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 63 72 65 61 74 65 20 66 6f 72 20 65 78 61 6d d.the.ability.to.create.for.exam
44660 70 6c 65 20 61 20 6c 69 67 68 74 20 61 6e 64 20 64 75 6d 70 20 44 42 20 6f 62 6a 65 63 74 20 77 ple.a.light.and.dump.DB.object.w
44680 68 69 63 68 0a 77 69 6c 6c 20 6f 6e 6c 79 20 73 65 74 20 75 70 20 74 68 65 20 63 6f 6e 6e 65 63 hich.will.only.set.up.the.connec
446a0 74 69 6f 6e 20 77 68 65 6e 20 6e 65 65 64 65 64 2e 20 57 69 74 68 20 74 68 61 74 20 70 65 6f 70 tion.when.needed..With.that.peop
446c0 6c 65 20 63 6f 75 6c 64 0a 63 72 65 61 74 65 20 74 68 65 20 44 42 20 6f 62 6a 65 63 74 20 69 6e le.could.create.the.DB.object.in
446e0 20 61 20 63 6f 6d 6d 6f 6e 20 70 72 65 70 65 6e 64 20 6f 72 20 64 65 66 61 75 6c 74 20 66 69 6c .a.common.prepend.or.default.fil
44700 65 20 77 69 74 68 6f 75 74 20 74 68 65 0a 6e 65 65 64 20 74 6f 20 77 61 73 74 65 20 73 79 73 74 e.without.the.need.to.waste.syst
44720 65 6d 20 72 65 73 6f 75 72 63 65 73 20 69 66 20 74 68 65 20 75 73 65 20 6f 66 20 74 68 65 20 64 em.resources.if.the.use.of.the.d
44740 61 74 61 62 61 73 65 20 69 73 20 66 69 6e 61 6c 6c 79 0a 6e 6f 74 20 6e 65 65 64 65 64 2e 0a 00 atabase.is.finally.not.needed...
44760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
447a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
447c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
447e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44800 44 42 2d 31 2e 33 2f 44 42 2f 4d 41 49 4e 54 41 49 4e 45 52 53 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/MAINTAINERS...........
44820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
44880 20 20 20 31 31 33 31 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 36 34 37 20 00 00 00 00 00 ...1131..7466465701...6647......
448a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
448c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
448e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
449a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
449c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
449e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44a00 4d 61 69 6e 74 61 69 6e 65 72 73 20 66 6f 72 20 44 42 20 64 61 74 61 62 61 73 65 20 62 61 63 6b Maintainers.for.DB.database.back
44a20 65 6e 64 73 2f 64 72 69 76 65 72 73 3a 0a 0a 69 62 61 73 65 20 20 20 20 20 3a 20 4c 75 64 6f 76 ends/drivers:..ibase.....:.Ludov
44a40 69 63 6f 20 4d 61 67 6e 6f 63 61 76 61 6c 6c 6f 20 3c 6c 75 64 6f 40 73 75 6d 61 74 72 61 73 6f ico.Magnocavallo.<ludo@sumatraso
44a60 6c 75 74 69 6f 6e 73 2e 63 6f 6d 3e 0a 6d 73 71 6c 20 20 20 20 20 20 3a 20 0a 6d 73 73 71 6c 20 lutions.com>.msql......:..mssql.
44a80 20 20 20 20 3a 20 46 72 61 6e 6b 20 4d 2e 20 4b 72 6f 6d 61 6e 6e 20 3c 66 72 61 6e 6b 40 66 72 ....:.Frank.M..Kromann.<frank@fr
44aa0 6f 6e 74 62 61 73 65 2e 63 6f 6d 3e 0a 6d 79 73 71 6c 20 20 20 20 20 3a 20 53 74 69 67 20 42 61 ontbase.com>.mysql.....:.Stig.Ba
44ac0 6b 6b 65 6e 20 3c 73 73 62 40 66 61 73 74 2e 6e 6f 3e 0a 6f 63 69 38 20 20 20 20 20 20 3a 20 54 kken.<ssb@fast.no>.oci8......:.T
44ae0 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 20 3c 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 0a 6f omas.V.V.Cox.<cox@idecnet.com>.o
44b00 64 62 63 20 20 20 20 20 20 3a 20 54 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 20 3c 63 6f 78 40 69 64 dbc......:.Tomas.V.V.Cox.<cox@id
44b20 65 63 6e 65 74 2e 63 6f 6d 3e 0a 70 67 73 71 6c 20 20 20 20 20 3a 20 52 75 69 20 48 69 72 6f 6b ecnet.com>.pgsql.....:.Rui.Hirok
44b40 61 77 61 20 3c 72 75 69 5f 68 69 72 6f 6b 61 77 61 40 79 62 62 2e 6e 65 2e 6a 70 3e 0a 20 20 20 awa.<rui_hirokawa@ybb.ne.jp>....
44b60 20 20 20 20 20 20 20 20 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 73 62 40 66 61 73 74 2e 6e .........Stig.Bakken.<ssb@fast.n
44b80 6f 3e 0a 73 79 62 61 73 65 20 20 20 20 3a 20 0a 69 66 78 20 20 20 20 20 20 20 3a 20 54 6f 6d 61 o>.sybase....:..ifx.......:.Toma
44ba0 73 20 56 2e 56 2e 43 6f 78 20 3c 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 0a 66 62 73 71 s.V.V.Cox.<cox@idecnet.com>.fbsq
44bc0 6c 20 20 20 20 20 3a 20 46 72 61 6e 6b 20 4d 2e 20 4b 72 6f 6d 61 6e 6e 20 3c 66 72 61 6e 6b 40 l.....:.Frank.M..Kromann.<frank@
44be0 66 72 6f 6e 74 62 61 73 65 2e 63 6f 6d 3e 0a 64 62 61 73 65 20 20 20 20 20 3a 20 54 6f 6d 61 73 frontbase.com>.dbase.....:.Tomas
44c00 20 56 2e 56 2e 43 6f 78 20 3c 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 0a 6c 64 61 70 20 .V.V.Cox.<cox@idecnet.com>.ldap.
44c20 20 20 20 20 20 3a 20 4c 75 64 6f 76 69 63 6f 20 4d 61 67 6e 6f 63 61 76 61 6c 6c 6f 20 3c 6c 75 .....:.Ludovico.Magnocavallo.<lu
44c40 64 6f 40 73 75 6d 61 74 72 61 73 6f 6c 75 74 69 6f 6e 73 2e 63 6f 6d 3e 0a 00 00 00 00 00 00 00 do@sumatrasolutions.com>........
44c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e00 44 42 2d 31 2e 33 2f 44 42 2f 53 54 41 54 55 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/STATUS................
44e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
44e80 20 20 20 33 34 34 36 20 20 37 34 37 30 37 30 33 37 32 33 20 20 20 36 31 32 35 20 00 00 00 00 00 ...3446..7470703723...6125......
44ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45000 44 42 20 64 72 69 76 65 72 20 66 65 61 74 75 72 65 20 6d 61 74 72 69 78 3a 0a 0a 53 79 6d 62 6f DB.driver.feature.matrix:..Symbo
45020 6c 73 3a 0a 20 20 22 78 22 20 2d 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 62 75 74 20 77 69 74 ls:..."x".-.implemented,.but.wit
45040 68 6f 75 74 20 74 65 73 74 73 0a 20 20 22 74 22 20 2d 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 hout.tests..."t".-.implemented,.
45060 62 75 74 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 74 65 73 74 73 20 66 61 69 6c 0a 20 20 22 54 22 but.one.or.more.tests.fail..."T"
45080 20 2d 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 70 61 73 73 69 6e 67 20 61 6c 6c 20 74 65 73 74 .-.implemented,.passing.all.test
450a0 73 0a 20 20 22 65 22 20 2d 20 65 6d 75 6c 61 74 65 64 2c 20 77 69 74 68 6f 75 74 20 74 65 73 74 s..."e".-.emulated,.without.test
450c0 73 0a 20 20 22 45 22 20 2d 20 65 6d 75 6c 61 74 65 64 2c 20 70 61 73 73 69 6e 67 20 61 6c 6c 20 s..."E".-.emulated,.passing.all.
450e0 74 65 73 74 73 0a 20 20 22 6e 22 20 2d 20 72 65 74 75 72 6e 73 20 22 6e 6f 74 20 63 61 70 61 62 tests..."n".-.returns."not.capab
45100 6c 65 22 0a 20 20 22 2d 22 20 2d 20 6e 6f 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 le"..."-".-.no.implementation.of
45120 20 74 68 69 73 20 66 65 61 74 75 72 65 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .this.feature...................
45140 20 20 20 66 62 73 71 6c 20 20 20 20 20 20 69 66 78 20 20 20 20 20 20 6d 73 73 71 6c 20 20 20 20 ...fbsql......ifx......mssql....
45160 20 20 6f 63 69 38 20 20 20 20 20 70 67 73 71 6c 0a 46 45 41 54 55 52 45 20 20 20 20 20 20 20 20 ..oci8.....pgsql.FEATURE........
45180 20 20 20 20 20 20 7c 20 20 69 62 61 73 65 20 20 7c 20 20 6d 73 71 6c 20 20 20 7c 20 20 20 6d 79 ......|..ibase..|..msql...|...my
451a0 73 71 6c 20 7c 20 20 20 6f 64 62 63 20 20 7c 20 20 73 79 62 61 73 65 0a 73 69 6d 70 6c 65 51 75 sql.|...odbc..|..sybase.simpleQu
451c0 65 72 79 20 20 20 20 20 20 20 20 20 20 78 20 20 20 20 54 20 20 20 20 78 20 20 20 20 78 20 20 20 ery..........x....T....x....x...
451e0 20 78 20 20 20 20 54 20 20 20 20 54 20 20 20 20 78 20 20 20 20 54 20 20 20 20 78 0a 6e 75 6d 43 .x....T....T....x....T....x.numC
45200 6f 6c 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 20 20 20 54 20 20 20 20 78 20 20 20 20 ols..............x....T....x....
45220 78 20 20 20 20 78 20 20 20 20 54 20 20 20 20 54 20 20 20 20 78 20 20 20 20 54 20 20 20 20 78 0a x....x....T....T....x....T....x.
45240 6e 75 6d 52 6f 77 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 20 20 20 6e 20 20 20 20 6e numRows..............x....n....n
45260 20 20 20 20 78 20 20 20 20 78 20 20 20 20 54 20 20 20 20 45 20 20 20 20 78 20 20 20 20 54 20 20 ....x....x....T....E....x....T..
45280 20 20 6e 0a 65 72 72 6f 72 4e 61 74 69 76 65 20 20 20 20 20 20 20 20 20 20 78 20 20 20 20 6e 20 ..n.errorNative..........x....n.
452a0 20 20 20 78 20 20 20 20 6e 20 20 20 20 6e 20 20 20 20 54 20 20 20 20 78 20 20 20 20 78 20 20 20 ...x....n....n....T....x....x...
452c0 20 54 20 20 20 20 6e 0a 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 20 20 20 20 20 20 65 20 20 .T....n.prepare/execute......e..
452e0 20 20 78 20 20 20 20 65 20 20 20 20 65 20 20 20 20 65 20 20 20 20 45 20 20 20 20 54 20 20 20 20 ..x....e....e....e....E....T....
45300 65 20 20 20 20 45 20 20 20 20 65 0a 73 65 71 75 65 6e 63 65 73 20 20 20 20 20 20 20 20 20 20 20 e....E....e.sequences...........
45320 20 65 20 20 20 20 54 20 20 20 20 6e 20 20 20 20 6e 20 20 20 20 78 20 20 20 20 45 20 20 20 20 54 .e....T....n....n....x....E....T
45340 20 20 20 20 6e 20 20 20 20 54 20 20 20 20 6e 0a 61 66 66 65 63 74 65 64 52 6f 77 73 20 20 20 20 ....n....T....n.affectedRows....
45360 20 20 20 20 20 78 20 20 20 20 6e 20 20 20 20 78 20 20 20 20 78 20 20 20 20 6e 20 20 20 20 54 20 .....x....n....x....x....n....T.
45380 20 20 20 54 20 20 20 20 78 20 20 20 20 54 20 20 20 20 78 0a 66 65 74 63 68 20 6d 6f 64 65 73 20 ...T....x....T....x.fetch.modes.
453a0 20 20 20 20 20 20 20 20 20 78 20 20 20 20 54 20 20 20 20 78 20 20 20 20 78 20 20 20 20 78 20 20 .........x....T....x....x....x..
453c0 20 20 54 20 20 20 20 54 20 20 20 20 78 20 20 20 20 54 20 20 20 20 78 0a 66 65 74 63 68 20 72 6f ..T....T....x....T....x.fetch.ro
453e0 77 20 62 79 20 6e 75 6d 62 65 72 20 20 78 20 20 20 20 6e 20 20 20 20 78 20 20 20 20 78 20 20 20 w.by.number..x....n....x....x...
45400 20 78 20 20 20 20 78 20 20 20 20 6e 20 20 20 20 78 20 20 20 20 78 20 20 20 20 78 0a 74 72 61 6e .x....x....n....x....x....x.tran
45420 73 61 63 74 69 6f 6e 73 20 20 20 20 20 20 20 20 20 78 20 20 20 20 78 20 20 20 20 6e 20 20 20 20 sactions.........x....x....n....
45440 6e 20 20 20 20 78 20 20 20 20 78 20 20 20 20 78 20 20 20 20 78 20 20 20 20 78 20 20 20 20 6e 0a n....x....x....x....x....x....n.
45460 61 75 74 6f 2d 63 6f 6d 6d 69 74 20 20 20 20 20 20 20 20 20 20 78 20 20 20 20 78 20 20 20 20 6e auto-commit..........x....x....n
45480 20 20 20 20 6e 20 20 20 20 6e 20 20 20 20 6e 20 20 20 20 78 20 20 20 20 78 20 20 20 20 78 20 20 ....n....n....n....x....x....x..
454a0 20 20 6e 0a 65 72 72 6f 72 20 6d 61 70 70 69 6e 67 20 20 20 20 20 20 20 20 78 20 20 20 20 78 20 ..n.error.mapping........x....x.
454c0 20 20 20 65 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 54 20 20 20 20 54 20 20 20 20 78 20 20 20 ...e....-....-....T....T....x...
454e0 20 45 20 20 20 20 2d 0a 74 61 62 6c 65 49 6e 66 6f 20 20 20 20 20 20 20 20 20 20 20 20 78 20 20 .E....-.tableInfo............x..
45500 20 20 6e 20 20 20 20 6e 20 20 20 20 6e 20 20 20 20 78 20 20 20 20 54 20 20 20 20 54 20 20 20 20 ..n....n....n....x....T....T....
45520 6e 20 20 20 20 78 20 20 20 20 6e 0a 0a 0a 49 6e 66 6f 20 72 65 74 75 72 6e 65 64 20 62 79 20 67 n....x....n...Info.returned.by.g
45540 65 74 4c 69 73 74 4f 66 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 62 73 etListOf.....................fbs
45560 71 6c 20 20 20 20 20 20 69 66 78 20 20 20 20 20 20 6d 73 73 71 6c 20 20 20 20 20 20 6f 63 69 38 ql......ifx......mssql......oci8
45580 20 20 20 20 20 70 67 73 71 6c 0a 54 59 50 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....pgsql.TYPE.................
455a0 7c 20 20 69 62 61 73 65 20 20 7c 20 20 6d 73 71 6c 20 20 20 7c 20 20 20 6d 79 73 71 6c 20 7c 20 |..ibase..|..msql...|...mysql.|.
455c0 20 20 6f 64 62 63 20 20 7c 20 20 73 79 62 61 73 65 0a 74 61 62 6c 65 73 20 20 20 20 20 20 20 20 ..odbc..|..sybase.tables........
455e0 20 20 20 20 20 20 20 78 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 78 20 20 20 20 .......x....-....-....-....x....
45600 78 20 20 20 20 78 20 20 20 20 2d 20 20 20 20 78 20 20 20 20 78 0a 76 69 65 77 73 20 20 20 20 20 x....x....-....x....x.views.....
45620 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 78 ...........-....-....-....-....x
45640 20 20 20 20 6e 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 78 20 20 20 20 78 0a 75 73 65 72 73 20 ....n....-....-....x....x.users.
45660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 ...............-....-....-....-.
45680 20 20 20 2d 20 20 20 20 78 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 78 20 20 20 20 2d 0a 64 61 ...-....x....-....-....x....-.da
456a0 74 61 62 61 73 65 73 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 tabases............-....-....-..
456c0 20 20 2d 20 20 20 20 2d 20 20 20 20 78 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 78 20 20 20 20 ..-....-....x....-....-....x....
456e0 2d 0a 66 75 6e 63 74 69 6f 6e 73 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 2d 20 20 20 -.functions............-....-...
45700 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 2d 20 20 20 20 78 .-....-....-....-....-....-....x
45720 20 20 20 20 2d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....-...........................
45740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
457a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
457c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
457e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45800 44 42 2d 31 2e 33 2f 44 42 2f 54 45 53 54 45 52 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DB-1.3/DB/TESTERS...............
45820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
45880 20 20 20 33 36 37 32 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 32 34 32 20 00 00 00 00 00 ...3672..7466465701...6242......
458a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
458c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
458e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
459a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
459c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
459e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45a00 48 6f 77 20 74 6f 20 72 75 6e 20 74 65 73 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d How.to.run.tests.---------------
45a20 2d 0a 0a 31 29 20 46 69 72 73 74 20 79 6f 75 20 6e 65 65 64 20 74 68 65 20 22 72 75 6e 2d 74 65 -..1).First.you.need.the."run-te
45a40 73 74 73 2e 70 68 70 22 20 73 63 72 69 70 74 20 6c 6f 63 61 74 65 64 20 61 74 20 74 68 65 20 72 sts.php".script.located.at.the.r
45a60 6f 6f 74 0a 20 20 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 50 48 50 20 34 20 73 6f oot....directory.of.the.PHP.4.so
45a80 75 72 63 65 20 74 61 72 20 62 61 6c 6c 2e 0a 0a 32 29 20 44 6f 77 6e 6c 6f 61 64 20 74 68 65 20 urce.tar.ball...2).Download.the.
45aa0 6c 61 73 74 65 73 74 20 50 45 41 52 20 44 42 20 66 72 6f 6d 20 43 56 53 3a 0a 0a 57 68 65 72 65 lastest.PEAR.DB.from.CVS:..Where
45ac0 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 6c 61 63 65 20 50 65 61 72 20 66 69 6c 65 73 0a 23 20 .you.want.to.place.Pear.files.#.
45ae0 63 64 20 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 0a 4c 6f 67 20 74 6f 20 74 68 65 20 72 65 70 cd./usr/local/lib.Log.to.the.rep
45b00 6f 73 69 74 6f 72 79 20 28 75 73 65 20 22 70 68 70 66 69 22 20 61 73 20 70 61 73 73 77 6f 72 64 ository.(use."phpfi".as.password
45b20 29 3a 0a 23 20 63 76 73 20 2d 64 20 3a 70 73 65 72 76 65 72 3a 63 76 73 72 65 61 64 40 63 76 73 ):.#.cvs.-d.:pserver:cvsread@cvs
45b40 2e 70 68 70 2e 6e 65 74 3a 2f 72 65 70 6f 73 69 74 6f 72 79 20 6c 6f 67 69 6e 0a 23 20 63 76 73 .php.net:/repository.login.#.cvs
45b60 20 2d 64 20 3a 70 73 65 72 76 65 72 3a 63 76 73 72 65 61 64 40 63 76 73 2e 70 68 70 2e 6e 65 74 .-d.:pserver:cvsread@cvs.php.net
45b80 3a 2f 72 65 70 6f 73 69 74 6f 72 79 20 63 6f 20 70 68 70 34 2f 72 75 6e 2d 74 65 73 74 73 2e 70 :/repository.co.php4/run-tests.p
45ba0 68 70 0a 23 20 63 76 73 20 2d 64 20 3a 70 73 65 72 76 65 72 3a 63 76 73 72 65 61 64 40 63 76 73 hp.#.cvs.-d.:pserver:cvsread@cvs
45bc0 2e 70 68 70 2e 6e 65 74 3a 2f 72 65 70 6f 73 69 74 6f 72 79 20 63 6f 20 70 68 70 34 2f 70 65 61 .php.net:/repository.co.php4/pea
45be0 72 0a 23 20 63 64 20 70 68 70 34 0a 23 20 70 68 70 20 2d 66 20 72 75 6e 2d 74 65 73 74 73 2e 70 r.#.cd.php4.#.php.-f.run-tests.p
45c00 68 70 20 2d 2d 20 3c 74 65 73 74 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 3e 0a 0a hp.--.<test.file.or.directory>..
45c20 3c 74 65 73 74 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 3e 20 63 61 6e 20 62 65 3a <test.file.or.directory>.can.be:
45c40 0a 0a 70 65 61 72 2f 44 42 2f 74 65 73 74 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 6d ..pear/DB/tests:............Comm
45c60 6f 6e 20 50 45 41 52 20 44 42 20 74 65 73 74 73 0a 70 65 61 72 2f 44 42 2f 74 65 73 74 73 2f 3c on.PEAR.DB.tests.pear/DB/tests/<
45c80 62 61 63 6b 65 6e 64 3e 3a 20 20 53 70 65 63 69 66 69 63 20 62 61 63 6b 65 6e 64 20 74 65 73 74 backend>:..Specific.backend.test
45ca0 73 0a 70 65 61 72 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 3a 20 20 20 20 20 43 6f 6d 6d s.pear/DB/tests/driver:.....Comm
45cc0 6f 6e 20 74 65 73 74 73 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 64 72 69 76 65 72 73 0a 0a 0a 44 on.tests.for.all.the.drivers...D
45ce0 42 20 74 65 73 74 65 72 20 6d 61 74 72 69 78 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d B.tester.matrix.----------------
45d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
45d20 20 20 20 20 42 20 2d 20 41 20 2d 20 43 20 2d 20 4b 20 2d 20 45 20 2d 20 4e 20 2d 20 44 20 2d 20 ....B.-.A.-.C.-.K.-.E.-.N.-.D.-.
45d40 53 0a 54 45 53 54 45 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 62 61 73 65 S.TESTER...................ibase
45d60 20 69 66 78 20 20 20 6d 73 71 6c 20 20 6d 73 73 71 6c 20 6d 79 73 71 6c 20 6f 63 69 38 20 20 6f .ifx...msql..mssql.mysql.oci8..o
45d80 64 62 63 20 20 70 67 73 71 6c 20 73 79 62 61 73 65 20 20 66 62 73 71 6c 0a 4a 6f 68 6e 20 48 6f dbc..pgsql.sybase..fbsql.John.Ho
45da0 72 74 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 20 58 20 20 20 20 20 2d rton...............-.....X.....-
45dc0 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 .....-.....-.....-.....-.....-..
45de0 20 20 20 20 2d 20 20 20 20 20 20 20 2d 0a 54 69 6d 20 5a 69 63 6b 75 73 20 20 20 20 20 20 20 20 ....-.......-.Tim.Zickus........
45e00 20 20 20 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 ........-.....-.....-.....-.....
45e20 2d 20 20 20 20 20 58 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 20 2d 20 20 20 20 20 20 -.....X.....-.....-......-......
45e40 20 2d 0a 54 69 6d 20 50 61 72 6b 69 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 .-.Tim.Parkin................-..
45e60 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 58 20 20 20 20 ...-.....-.....-.....-.....X....
45e80 20 2d 20 20 20 20 20 2d 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 2d 0a 50 61 75 6c 20 47 61 72 .-.....-......-.......-.Paul.Gar
45ea0 64 69 6e 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 20 58 20 20 20 20 20 2d 20 diner.............-.....X.....-.
45ec0 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 ....-.....-.....-.....-.....-...
45ee0 20 20 20 2d 20 20 20 20 20 20 20 2d 0a 44 61 6e 69 65 6c 2c 20 41 64 61 6d 20 20 20 20 20 20 20 ...-.......-.Daniel,.Adam.......
45f00 20 20 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d .......-.....-.....-.....-.....-
45f20 20 20 20 20 20 58 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 .....X.....-.....-......-.......
45f40 2d 0a 73 7a 69 69 40 73 7a 69 69 73 6f 66 74 2e 63 6f 6d 20 20 20 20 20 20 20 20 20 2d 20 20 20 -.szii@sziisoft.com.........-...
45f60 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 ..-.....-.....-.....-.....-.....
45f80 58 b9 20 20 20 20 2d 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 2d 0a 6a 6d 68 33 40 6c 69 6e 75 X.....-......-.......-.jmh3@linu
45fa0 78 66 72 65 61 6b 2e 63 6f 6d 20 20 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 xfreak.com.......-.....-.....-..
45fc0 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 58 20 20 20 20 ...-.....-.....-.....-.....X....
45fe0 20 20 2d 20 20 20 20 20 20 20 2d 0a 4b 65 76 69 6e 20 48 65 6e 72 69 6b 73 6f 6e 20 20 20 20 20 ..-.......-.Kevin.Henrikson.....
46000 20 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 ......-.....-.....-.....-.....-.
46020 20 20 20 20 58 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 2d ....X.....-.....-......-.......-
46040 0a 53 74 69 67 20 42 61 6b 6b 65 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 .Stig.Bakken...............-....
46060 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 58 20 20 20 20 20 2d 20 20 20 20 20 2d .-.....-.....-.....X.....-.....-
46080 20 20 20 20 20 58 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 2d 0a 43 68 75 63 6b 20 48 61 67 65 .....X......-.......-.Chuck.Hage
460a0 6e 62 75 63 68 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 nbuch...........-.....-.....-...
460c0 20 20 58 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 ..X.....-.....-.....-.....-.....
460e0 20 2d 20 20 20 20 20 20 20 2d 0a 4c 75 64 6f 76 69 63 6f 20 4d 61 67 6e 6f 63 61 76 61 6c 6c 6f .-.......-.Ludovico.Magnocavallo
46100 20 20 20 20 20 58 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 .....X.....-.....-.....-.....-..
46120 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 20 2d 20 20 20 20 20 20 20 2d 0a ...-.....-.....-......-.......-.
46140 0a 4d 49 53 53 49 4e 47 20 54 45 53 54 45 52 53 20 20 20 20 20 20 20 20 20 20 20 2d 20 20 20 20 .MISSING.TESTERS...........-....
46160 20 2d 20 20 20 20 20 58 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d 20 20 20 20 20 2d .-.....X.....-.....-.....-.....-
46180 20 20 20 20 20 2d 20 20 20 20 20 20 58 20 20 20 20 20 20 20 58 0a 0a 43 6f 6d 6d 65 6e 74 73 3a .....-......X.......X..Comments:
461a0 0a 0a 5b 31 5d 3a 20 4f 44 42 43 20 75 73 69 6e 67 20 49 42 4d 20 44 42 32 0a 00 00 00 00 00 00 ..[1]:.ODBC.using.IBM.DB2.......
461c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
461e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 62 5f 65 72 72 6f 72 2e 70 68 70 74 00 00 00 00 00 00 DB-1.3/tests/db_error.phpt......
46220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
46280 20 20 20 35 33 37 31 20 20 37 34 37 34 32 30 30 36 35 33 20 20 31 30 35 32 34 20 00 00 00 00 00 ...5371..7474200653..10524......
462a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
462c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
462e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
463a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
463c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
463e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 45 72 72 6f 72 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 --TEST--.DB_Error.--SKIPIF--.<?p
46420 68 70 20 69 66 20 28 21 40 69 6e 63 6c 75 64 65 28 22 44 42 2e 70 68 70 22 29 29 20 70 72 69 6e hp.if.(!@include("DB.php")).prin
46440 74 20 22 73 6b 69 70 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 20 2f 2f 20 2d t."skip";.?>.--FILE--.<?php.//.-
46460 2a 2d 20 43 2b 2b 20 2d 2a 2d 0a 0a 2f 2f 20 54 65 73 74 20 66 6f 72 3a 20 44 42 2e 70 68 70 0a *-.C++.-*-..//.Test.for:.DB.php.
46480 2f 2f 20 50 61 72 74 73 20 74 65 73 74 65 64 3a 20 44 42 5f 45 72 72 6f 72 0a 0a 66 75 6e 63 74 //.Parts.tested:.DB_Error..funct
464a0 69 6f 6e 20 74 65 73 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 24 65 72 72 6e 6f 2c 20 24 ion.test_error_handler($errno,.$
464c0 65 72 72 6d 73 67 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 2c 20 24 76 61 72 73 29 20 7b 0a 20 errmsg,.$file,.$line,.$vars).{..
464e0 20 20 20 20 20 20 20 24 65 72 72 6f 72 74 79 70 65 20 3d 20 61 72 72 61 79 20 28 0a 20 20 20 20 .......$errortype.=.array.(.....
46500 20 20 20 20 20 20 20 20 20 20 20 20 31 20 20 20 3d 3e 20 20 22 45 72 72 6f 72 22 2c 0a 20 20 20 ............1...=>.."Error",....
46520 20 20 20 20 20 20 20 20 20 20 20 20 20 32 20 20 20 3d 3e 20 20 22 57 61 72 6e 69 6e 67 22 2c 0a .............2...=>.."Warning",.
46540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 20 20 20 3d 3e 20 20 22 50 61 72 73 69 6e 67 ................4...=>.."Parsing
46560 20 45 72 72 6f 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38 20 20 20 3d 3e 20 .Error",.................8...=>.
46580 20 22 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 36 20 20 3d ."Notice",.................16..=
465a0 3e 20 20 22 43 6f 72 65 20 45 72 72 6f 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >.."Core.Error",................
465c0 20 33 32 20 20 3d 3e 20 20 22 43 6f 72 65 20 57 61 72 6e 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 .32..=>.."Core.Warning",........
465e0 20 20 20 20 20 20 20 20 20 36 34 20 20 3d 3e 20 20 22 43 6f 6d 70 69 6c 65 20 45 72 72 6f 72 22 .........64..=>.."Compile.Error"
46600 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 32 38 20 3d 3e 20 20 22 43 6f 6d 70 69 ,.................128.=>.."Compi
46620 6c 65 20 57 61 72 6e 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 35 36 le.Warning",.................256
46640 20 3d 3e 20 20 22 55 73 65 72 20 45 72 72 6f 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .=>.."User.Error",..............
46660 20 20 20 35 31 32 20 3d 3e 20 20 22 55 73 65 72 20 57 61 72 6e 69 6e 67 22 2c 0a 20 20 20 20 20 ...512.=>.."User.Warning",......
46680 20 20 20 20 20 20 20 20 20 20 20 31 30 32 34 3d 3e 20 20 22 55 73 65 72 20 4e 6f 74 69 63 65 22 ...........1024=>.."User.Notice"
466a0 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 3d 20 24 65 .........);.........$prefix.=.$e
466c0 72 72 6f 72 74 79 70 65 5b 24 65 72 72 6e 6f 5d 3b 0a 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 rrortype[$errno];.........$file.
466e0 3d 20 62 61 73 65 6e 61 6d 65 28 24 66 69 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 =.basename($file);.........print
46700 20 22 5c 6e 24 70 72 65 66 69 78 3a 20 24 65 72 72 6d 73 67 20 69 6e 20 24 66 69 6c 65 20 6f 6e ."\n$prefix:.$errmsg.in.$file.on
46720 20 6c 69 6e 65 20 58 58 58 5c 6e 22 3b 0a 7d 0a 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 .line.XXX\n";.}..error_reporting
46740 28 45 5f 41 4c 4c 29 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 22 74 65 73 74 (E_ALL);.set_error_handler("test
46760 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 22 29 3b 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 _error_handler");.require_once."
46780 44 42 2e 70 68 70 22 3b 0a 0a 70 72 69 6e 74 20 22 74 65 73 74 69 6e 67 20 64 69 66 66 65 72 65 DB.php";..print."testing.differe
467a0 6e 74 20 65 72 72 6f 72 20 63 6f 64 65 73 2e 2e 2e 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 44 nt.error.codes...\n";.$e.=.new.D
467c0 42 5f 45 72 72 6f 72 28 29 3b 20 70 72 69 6e 74 20 24 65 2d 3e 74 6f 53 74 72 69 6e 67 28 29 2e B_Error();.print.$e->toString().
467e0 22 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f 72 28 22 74 65 73 74 20 65 72 "\n";.$e.=.new.DB_Error("test.er
46800 72 6f 72 22 29 3b 20 70 72 69 6e 74 20 24 65 2d 3e 74 6f 53 74 72 69 6e 67 28 29 2e 22 5c 6e 22 ror");.print.$e->toString()."\n"
46820 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f 72 28 44 42 5f 4f 4b 29 3b 20 70 72 69 6e ;.$e.=.new.DB_Error(DB_OK);.prin
46840 74 20 24 65 2d 3e 74 6f 53 74 72 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 t.$e->toString()."\n";.$e.=.new.
46860 44 42 5f 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 29 3b 20 70 72 69 6e 74 20 24 65 2d 3e 74 6f DB_Error(DB_ERROR);.print.$e->to
46880 53 74 72 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f 72 String()."\n";.$e.=.new.DB_Error
468a0 28 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 29 3b 20 70 72 69 6e 74 20 24 65 2d 3e 74 6f 53 (DB_ERROR_SYNTAX);.print.$e->toS
468c0 74 72 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f 72 28 tring()."\n";.$e.=.new.DB_Error(
468e0 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 29 3b 20 70 72 69 6e 74 20 24 65 2d 3e 74 6f 53 DB_ERROR_DIVZERO);.print.$e->toS
46900 74 72 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 0a 70 72 69 6e 74 20 22 74 65 73 74 69 6e 67 20 64 69 tring()."\n";..print."testing.di
46920 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 6d 6f 64 65 73 2e 2e 2e 5c 6e 22 3b 0a 24 65 20 3d 20 fferent.error.modes...\n";.$e.=.
46940 6e 65 77 20 44 42 5f 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 2c 20 50 45 41 52 5f 45 52 52 4f new.DB_Error(DB_ERROR,.PEAR_ERRO
46960 52 5f 50 52 49 4e 54 29 3b 20 70 72 69 6e 74 20 24 65 2d 3e 74 6f 53 74 72 69 6e 67 28 29 2e 22 R_PRINT);.print.$e->toString()."
46980 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f \n";.$e.=.new.DB_Error(DB_ERROR_
469a0 53 59 4e 54 41 58 2c 20 50 45 41 52 5f 45 52 52 4f 52 5f 54 52 49 47 47 45 52 29 3b 0a 0a 70 72 SYNTAX,.PEAR_ERROR_TRIGGER);..pr
469c0 69 6e 74 20 22 74 65 73 74 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 73 65 72 int."testing.different.error.ser
469e0 76 65 72 69 74 69 65 73 2e 2e 2e 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f verities...\n";.$e.=.new.DB_Erro
46a00 72 28 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 20 50 45 41 52 5f 45 52 52 4f 52 5f 54 52 r(DB_ERROR_SYNTAX,.PEAR_ERROR_TR
46a20 49 47 47 45 52 2c 20 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 29 3b 0a 24 65 20 3d 20 6e 65 77 20 IGGER,.E_USER_NOTICE);.$e.=.new.
46a40 44 42 5f 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c 20 50 45 41 52 5f 45 DB_Error(DB_ERROR_SYNTAX,.PEAR_E
46a60 52 52 4f 52 5f 54 52 49 47 47 45 52 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 24 RROR_TRIGGER,.E_USER_WARNING);.$
46a80 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 e.=.new.DB_Error(DB_ERROR_SYNTAX
46aa0 2c 20 50 45 41 52 5f 45 52 52 4f 52 5f 54 52 49 47 47 45 52 2c 20 45 5f 55 53 45 52 5f 45 52 52 ,.PEAR_ERROR_TRIGGER,.E_USER_ERR
46ac0 4f 52 29 3b 0a 0a 3f 3e 0a 2d 2d 47 45 54 2d 2d 0a 2d 2d 50 4f 53 54 2d 2d 0a 2d 2d 45 58 50 45 OR);..?>.--GET--.--POST--.--EXPE
46ae0 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 63 6f 64 CT--.testing.different.error.cod
46b00 65 73 2e 2e 2e 0a 5b 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 es....[db_error:.message="DB.Err
46b20 6f 72 3a 20 75 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 22 20 63 6f 64 65 3d 2d 31 20 6d 6f 64 65 3d or:.unknown.error".code=-1.mode=
46b40 72 65 74 75 72 6e 20 6c 65 76 65 6c 3d 6e 6f 74 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e return.level=notice.prefix="".in
46b60 66 6f 3d 22 22 5d 0a 5b 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 fo=""].[db_error:.message="DB.Er
46b80 72 6f 72 3a 20 74 65 73 74 20 65 72 72 6f 72 22 20 63 6f 64 65 3d 2d 31 20 6d 6f 64 65 3d 72 65 ror:.test.error".code=-1.mode=re
46ba0 74 75 72 6e 20 6c 65 76 65 6c 3d 6e 6f 74 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f turn.level=notice.prefix="".info
46bc0 3d 22 22 5d 0a 5b 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f =""].[db_error:.message="DB.Erro
46be0 72 3a 20 6e 6f 20 65 72 72 6f 72 22 20 63 6f 64 65 3d 31 20 6d 6f 64 65 3d 72 65 74 75 72 6e 20 r:.no.error".code=1.mode=return.
46c00 6c 65 76 65 6c 3d 6e 6f 74 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a level=notice.prefix="".info=""].
46c20 5b 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 75 6e [db_error:.message="DB.Error:.un
46c40 6b 6e 6f 77 6e 20 65 72 72 6f 72 22 20 63 6f 64 65 3d 2d 31 20 6d 6f 64 65 3d 72 65 74 75 72 6e known.error".code=-1.mode=return
46c60 20 6c 65 76 65 6c 3d 6e 6f 74 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d .level=notice.prefix="".info=""]
46c80 0a 5b 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 73 .[db_error:.message="DB.Error:.s
46ca0 79 6e 74 61 78 20 65 72 72 6f 72 22 20 63 6f 64 65 3d 2d 32 20 6d 6f 64 65 3d 72 65 74 75 72 6e yntax.error".code=-2.mode=return
46cc0 20 6c 65 76 65 6c 3d 6e 6f 74 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d .level=notice.prefix="".info=""]
46ce0 0a 5b 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 64 .[db_error:.message="DB.Error:.d
46d00 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 22 20 63 6f 64 65 3d 2d 31 33 20 6d 6f 64 65 3d 72 ivision.by.zero".code=-13.mode=r
46d20 65 74 75 72 6e 20 6c 65 76 65 6c 3d 6e 6f 74 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 eturn.level=notice.prefix="".inf
46d40 6f 3d 22 22 5d 0a 74 65 73 74 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 6d 6f o=""].testing.different.error.mo
46d60 64 65 73 2e 2e 2e 0a 44 42 20 45 72 72 6f 72 3a 20 75 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 5b 64 des....DB.Error:.unknown.error[d
46d80 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 75 6e 6b 6e b_error:.message="DB.Error:.unkn
46da0 6f 77 6e 20 65 72 72 6f 72 22 20 63 6f 64 65 3d 2d 31 20 6d 6f 64 65 3d 70 72 69 6e 74 20 6c 65 own.error".code=-1.mode=print.le
46dc0 76 65 6c 3d 6e 6f 74 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a 0a 55 vel=notice.prefix="".info=""]..U
46de0 73 65 72 20 4e 6f 74 69 63 65 3a 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 72 72 ser.Notice:.DB.Error:.syntax.err
46e00 6f 72 20 69 6e 20 50 45 41 52 2e 70 68 70 20 6f 6e 20 6c 69 6e 65 20 58 58 58 0a 74 65 73 74 69 or.in.PEAR.php.on.line.XXX.testi
46e20 6e 67 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 73 65 72 76 65 72 69 74 69 65 73 2e 2e ng.different.error.serverities..
46e40 2e 0a 0a 55 73 65 72 20 4e 6f 74 69 63 65 3a 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 ...User.Notice:.DB.Error:.syntax
46e60 20 65 72 72 6f 72 20 69 6e 20 50 45 41 52 2e 70 68 70 20 6f 6e 20 6c 69 6e 65 20 58 58 58 0a 0a .error.in.PEAR.php.on.line.XXX..
46e80 55 73 65 72 20 57 61 72 6e 69 6e 67 3a 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 User.Warning:.DB.Error:.syntax.e
46ea0 72 72 6f 72 20 69 6e 20 50 45 41 52 2e 70 68 70 20 6f 6e 20 6c 69 6e 65 20 58 58 58 0a 0a 55 73 rror.in.PEAR.php.on.line.XXX..Us
46ec0 65 72 20 45 72 72 6f 72 3a 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 72 72 6f 72 er.Error:.DB.Error:.syntax.error
46ee0 20 69 6e 20 50 45 41 52 2e 70 68 70 20 6f 6e 20 6c 69 6e 65 20 58 58 58 0a 00 00 00 00 00 00 00 .in.PEAR.php.on.line.XXX........
46f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47000 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 62 5f 70 61 72 73 65 64 73 6e 2e 70 68 70 74 00 00 00 DB-1.3/tests/db_parsedsn.phpt...
47020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
47080 20 20 31 35 31 33 37 20 20 37 35 31 31 30 35 37 36 36 30 20 20 31 31 32 33 33 20 00 00 00 00 00 ..15137..7511057660..11233......
470a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
470c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
470e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
471a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
471c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
471e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47200 2d 2d 54 45 53 54 2d 2d 0a 44 42 3a 3a 70 61 72 73 65 44 53 4e 20 74 65 73 74 0a 2d 2d 53 4b 49 --TEST--.DB::parseDSN.test.--SKI
47220 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 66 20 28 21 40 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 6d PIF--.<?php.if.(!@include(dirnam
47240 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 44 42 2e 70 68 70 22 29 29 20 70 72 69 6e 74 e(__FILE__)."/../DB.php")).print
47260 20 22 73 6b 69 70 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 20 2f 2f 20 2d 2a ."skip";.?>.--FILE--.<?php.//.-*
47280 2d 20 43 2b 2b 20 2d 2a 2d 0a 0a 2f 2f 20 54 65 73 74 20 66 6f 72 3a 20 44 42 3a 3a 70 61 72 73 -.C++.-*-..//.Test.for:.DB::pars
472a0 65 44 53 4e 28 29 0a 0a 69 6e 63 6c 75 64 65 5f 6f 6e 63 65 20 64 69 72 6e 61 6d 65 28 5f 5f 46 eDSN()..include_once.dirname(__F
472c0 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 44 42 2e 70 68 70 22 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 74 ILE__)."/../DB.php";..function.t
472e0 65 73 74 28 24 64 73 6e 29 20 7b 0a 20 20 20 20 65 63 68 6f 20 22 44 53 4e 3a 20 24 64 73 6e 5c est($dsn).{.....echo."DSN:.$dsn\
47300 6e 22 3b 0a 20 20 20 20 70 72 69 6e 74 5f 72 28 44 42 3a 3a 70 61 72 73 65 44 53 4e 28 24 64 73 n";.....print_r(DB::parseDSN($ds
47320 6e 29 29 3b 0a 7d 0a 0a 70 72 69 6e 74 20 22 74 65 73 74 69 6e 67 20 44 42 3a 3a 70 61 72 73 65 n));.}..print."testing.DB::parse
47340 44 53 4e 2e 2e 2e 5c 6e 5c 6e 22 3b 0a 0a 74 65 73 74 28 22 6d 79 73 71 6c 22 29 3b 0a 74 65 73 DSN...\n\n";..test("mysql");.tes
47360 74 28 22 6f 64 62 63 28 6d 73 73 71 6c 29 22 29 3b 0a 74 65 73 74 28 22 6d 79 73 71 6c 3a 2f 2f t("odbc(mssql)");.test("mysql://
47380 6c 6f 63 61 6c 68 6f 73 74 22 29 3b 0a 74 65 73 74 28 22 6d 79 73 71 6c 3a 2f 2f 72 65 6d 6f 74 localhost");.test("mysql://remot
473a0 65 2e 68 6f 73 74 2e 63 6f 6d 2f 64 62 22 29 3b 0a 74 65 73 74 28 22 6f 63 69 38 3a 2f 2f 73 79 e.host.com/db");.test("oci8://sy
473c0 73 74 65 6d 3a 6d 61 6e 61 67 65 72 40 22 29 3b 0a 74 65 73 74 28 22 6f 63 69 38 3a 2f 2f 75 73 stem:manager@");.test("oci8://us
473e0 65 72 3a 70 61 73 73 40 74 6e 73 2d 6e 61 6d 65 22 29 3b 0a 74 65 73 74 28 22 6f 64 62 63 28 73 er:pass@tns-name");.test("odbc(s
47400 6f 6c 69 64 29 3a 2f 2f 66 6f 6f 3a 62 61 72 40 74 63 70 2b 6c 6f 63 61 6c 68 6f 73 74 2b 31 33 olid)://foo:bar@tcp+localhost+13
47420 31 33 22 29 3b 20 20 2f 2f 20 64 65 70 72 65 63 61 74 65 64 0a 74 65 73 74 28 22 70 67 73 71 6c 13");..//.deprecated.test("pgsql
47440 3a 2f 2f 75 73 65 72 40 75 6e 69 78 2b 6c 6f 63 61 6c 68 6f 73 74 2f 70 65 61 72 22 29 3b 20 20 ://user@unix+localhost/pear");..
47460 20 20 20 20 20 20 20 20 2f 2f 20 64 65 70 72 65 63 61 74 65 64 0a 74 65 73 74 28 22 69 62 61 73 ........//.deprecated.test("ibas
47480 65 3a 2f 2f 75 73 65 72 25 34 30 64 6f 6d 61 69 6e 3a 70 61 73 73 77 6f 72 64 40 68 6f 73 74 22 e://user%40domain:password@host"
474a0 29 3b 0a 74 65 73 74 28 22 69 62 61 73 65 3a 2f 2f 75 73 65 72 40 64 6f 6d 61 69 6e 3a 70 61 73 );.test("ibase://user@domain:pas
474c0 73 40 77 6f 72 64 40 2f 64 61 74 61 62 61 73 65 22 29 3b 20 20 20 2f 2f 20 61 6c 73 6f 20 73 75 s@word@/database");...//.also.su
474e0 70 70 6f 72 74 65 64 0a 74 65 73 74 28 22 69 66 78 3a 2f 2f 75 73 65 72 40 64 6f 6d 61 69 6e 3a pported.test("ifx://user@domain:
47500 70 61 73 73 40 77 6f 72 64 40 68 6f 73 74 2e 63 6f 6d 2f 2f 75 73 72 2f 64 62 2f 67 65 6e 65 72 pass@word@host.com//usr/db/gener
47520 61 6c 2e 64 62 22 29 3b 0a 74 65 73 74 28 27 69 66 78 3a 2f 2f 72 65 6d 6f 74 65 2e 68 6f 73 74 al.db");.test('ifx://remote.host
47540 2e 63 6f 6d 2f 63 3a 5c 77 69 6e 64 6f 77 73 5c 6d 79 2e 64 62 27 29 3b 0a 74 65 73 74 28 27 6f .com/c:\windows\my.db');.test('o
47560 63 69 38 3a 2f 2f 53 48 4f 4f 54 4f 55 54 3a 2a 2a 2a 2a 2a 2a 40 28 44 45 53 43 52 49 50 54 49 ci8://SHOOTOUT:******@(DESCRIPTI
47580 4f 4e 3d 28 41 44 44 52 45 53 53 5f 4c 49 53 54 3d 28 41 44 44 52 45 53 53 3d 28 50 52 4f 54 4f ON=(ADDRESS_LIST=(ADDRESS=(PROTO
475a0 43 4f 4c 3d 54 43 50 29 28 48 4f 53 54 3d 31 39 32 2e 31 36 38 2e 31 30 31 2e 31 36 31 29 28 50 COL=TCP)(HOST=192.168.101.161)(P
475c0 4f 52 54 3d 31 35 32 31 29 29 29 28 43 4f 4e 4e 45 43 54 5f 44 41 54 41 3d 28 53 45 52 56 49 43 ORT=1521)))(CONNECT_DATA=(SERVIC
475e0 45 5f 4e 41 4d 45 3d 54 49 53 29 29 29 27 29 3b 0a 0a 2f 2f 20 6e 65 77 20 66 6f 72 6d 61 74 73 E_NAME=TIS)))');..//.new.formats
47600 0a 74 65 73 74 28 22 6f 64 62 63 28 73 6f 6c 69 64 29 3a 2f 2f 66 6f 6f 3a 62 61 72 40 6c 6f 63 .test("odbc(solid)://foo:bar@loc
47620 61 6c 68 6f 73 74 3a 31 33 31 33 22 29 3b 0a 74 65 73 74 28 22 70 67 73 71 6c 3a 2f 2f 75 73 65 alhost:1313");.test("pgsql://use
47640 72 40 75 6e 69 78 28 29 2f 70 65 61 72 22 29 3b 0a 74 65 73 74 28 22 6d 79 73 71 6c 3a 2f 2f 75 r@unix()/pear");.test("mysql://u
47660 73 65 72 40 75 6e 69 78 28 2f 70 61 74 68 2f 74 6f 2f 73 6f 63 6b 65 74 29 2f 70 65 61 72 22 29 ser@unix(/path/to/socket)/pear")
47680 3b 0a 74 65 73 74 28 22 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 74 63 70 28 29 2f 70 65 61 72 22 ;.test("pgsql://user@tcp()/pear"
476a0 29 3b 0a 74 65 73 74 28 22 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 74 63 70 28 73 6f 6d 65 68 6f );.test("pgsql://user@tcp(someho
476c0 73 74 29 2f 70 65 61 72 22 29 3b 0a 74 65 73 74 28 22 70 67 73 71 6c 3a 2f 2f 75 73 65 72 3a 70 st)/pear");.test("pgsql://user:p
476e0 61 73 73 40 77 6f 72 64 40 74 63 70 28 73 6f 6d 65 68 6f 73 74 3a 37 37 37 37 29 2f 70 65 61 72 ass@word@tcp(somehost:7777)/pear
47700 22 29 3b 0a 0a 2f 2f 20 73 70 65 63 69 61 6c 20 62 61 63 6b 65 6e 64 20 6f 70 74 69 6f 6e 73 0a ");..//.special.backend.options.
47720 74 65 73 74 28 27 69 62 61 73 65 3a 2f 2f 75 73 65 72 3a 70 61 73 73 40 6c 6f 63 61 6c 68 6f 73 test('ibase://user:pass@localhos
47740 74 2f 2f 76 61 72 2f 6c 69 62 2f 64 62 61 73 65 2e 64 62 66 3f 72 6f 6c 65 3d 66 6f 6f 27 29 3b t//var/lib/dbase.dbf?role=foo');
47760 0a 74 65 73 74 28 27 64 62 61 73 65 3a 2f 2f 40 2f 3f 72 6f 6c 65 3d 66 6f 6f 26 64 69 61 6c 65 .test('dbase://@/?role=foo&diale
47780 63 74 3d 62 61 72 27 29 3b 0a 3f 3e 0a 2d 2d 47 45 54 2d 2d 0a 2d 2d 50 4f 53 54 2d 2d 0a 2d 2d ct=bar');.?>.--GET--.--POST--.--
477a0 45 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 2e 2e 2e EXPECT--.testing.DB::parseDSN...
477c0 0a 0a 44 53 4e 3a 20 6d 79 73 71 6c 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 ..DSN:.mysql.Array.(.....[phptyp
477e0 65 5d 20 3d 3e 20 6d 79 73 71 6c 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 6d 79 e].=>.mysql.....[dbsyntax].=>.my
47800 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 0a 20 20 20 20 5b 70 61 73 73 77 sql.....[username].=>.....[passw
47820 6f 72 64 5d 20 3d 3e 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 0a 20 20 20 20 5b 68 ord].=>.....[protocol].=>.....[h
47840 6f 73 74 73 70 65 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 ostspec].=>.....[port].=>.....[s
47860 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 ocket].=>.....[database].=>.).DS
47880 4e 3a 20 6f 64 62 63 28 6d 73 73 71 6c 29 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 N:.odbc(mssql).Array.(.....[phpt
478a0 79 70 65 5d 20 3d 3e 20 6f 64 62 63 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 6d ype].=>.odbc.....[dbsyntax].=>.m
478c0 73 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 0a 20 20 20 20 5b 70 61 73 73 ssql.....[username].=>.....[pass
478e0 77 6f 72 64 5d 20 3d 3e 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 0a 20 20 20 20 5b word].=>.....[protocol].=>.....[
47900 68 6f 73 74 73 70 65 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b hostspec].=>.....[port].=>.....[
47920 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 socket].=>.....[database].=>.).D
47940 53 4e 3a 20 6d 79 73 71 6c 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 0a 41 72 72 61 79 0a 28 0a 20 20 SN:.mysql://localhost.Array.(...
47960 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 6d 79 73 71 6c 0a 20 20 20 20 5b 64 62 73 79 6e 74 ..[phptype].=>.mysql.....[dbsynt
47980 61 78 5d 20 3d 3e 20 6d 79 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 0a 20 ax].=>.mysql.....[username].=>..
479a0 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 ...[password].=>.....[protocol].
479c0 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 6c 6f 63 61 6c 68 6f =>.tcp.....[hostspec].=>.localho
479e0 73 74 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e st.....[port].=>.....[socket].=>
47a00 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 4e 3a 20 6d 79 73 71 6c 3a .....[database].=>.).DSN:.mysql:
47a20 2f 2f 72 65 6d 6f 74 65 2e 68 6f 73 74 2e 63 6f 6d 2f 64 62 0a 41 72 72 61 79 0a 28 0a 20 20 20 //remote.host.com/db.Array.(....
47a40 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 6d 79 73 71 6c 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 .[phptype].=>.mysql.....[dbsynta
47a60 78 5d 20 3d 3e 20 6d 79 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 0a 20 20 x].=>.mysql.....[username].=>...
47a80 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d ..[password].=>.....[protocol].=
47aa0 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 72 65 6d 6f 74 65 2e 68 >.tcp.....[hostspec].=>.remote.h
47ac0 6f 73 74 2e 63 6f 6d 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 ost.com.....[port].=>.....[socke
47ae0 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 64 62 0a 29 0a 44 53 4e t].=>.....[database].=>.db.).DSN
47b00 3a 20 6f 63 69 38 3a 2f 2f 73 79 73 74 65 6d 3a 6d 61 6e 61 67 65 72 40 0a 41 72 72 61 79 0a 28 :.oci8://system:manager@.Array.(
47b20 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 6f 63 69 38 0a 20 20 20 20 5b 64 62 73 79 .....[phptype].=>.oci8.....[dbsy
47b40 6e 74 61 78 5d 20 3d 3e 20 6f 63 69 38 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 ntax].=>.oci8.....[username].=>.
47b60 73 79 73 74 65 6d 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 6d 61 6e 61 67 65 72 system.....[password].=>.manager
47b80 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 .....[protocol].=>.tcp.....[host
47ba0 73 70 65 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b spec].=>.....[port].=>.....[sock
47bc0 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 4e 3a 20 et].=>.....[database].=>.).DSN:.
47be0 6f 63 69 38 3a 2f 2f 75 73 65 72 3a 70 61 73 73 40 74 6e 73 2d 6e 61 6d 65 0a 41 72 72 61 79 0a oci8://user:pass@tns-name.Array.
47c00 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 6f 63 69 38 0a 20 20 20 20 5b 64 62 73 (.....[phptype].=>.oci8.....[dbs
47c20 79 6e 74 61 78 5d 20 3d 3e 20 6f 63 69 38 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e yntax].=>.oci8.....[username].=>
47c40 20 75 73 65 72 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 70 61 73 73 0a 20 20 20 .user.....[password].=>.pass....
47c60 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 .[protocol].=>.tcp.....[hostspec
47c80 5d 20 3d 3e 20 74 6e 73 2d 6e 61 6d 65 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 ].=>.tns-name.....[port].=>.....
47ca0 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a [socket].=>.....[database].=>.).
47cc0 44 53 4e 3a 20 6f 64 62 63 28 73 6f 6c 69 64 29 3a 2f 2f 66 6f 6f 3a 62 61 72 40 74 63 70 2b 6c DSN:.odbc(solid)://foo:bar@tcp+l
47ce0 6f 63 61 6c 68 6f 73 74 2b 31 33 31 33 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 ocalhost+1313.Array.(.....[phpty
47d00 70 65 5d 20 3d 3e 20 6f 64 62 63 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 73 6f pe].=>.odbc.....[dbsyntax].=>.so
47d20 6c 69 64 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 66 6f 6f 0a 20 20 20 20 5b 70 lid.....[username].=>.foo.....[p
47d40 61 73 73 77 6f 72 64 5d 20 3d 3e 20 62 61 72 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d assword].=>.bar.....[protocol].=
47d60 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 6c 6f 63 61 6c 68 6f 73 >.tcp.....[hostspec].=>.localhos
47d80 74 20 31 33 31 33 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 t.1313.....[port].=>.....[socket
47da0 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 4e 3a 20 70 67 ].=>.....[database].=>.).DSN:.pg
47dc0 73 71 6c 3a 2f 2f 75 73 65 72 40 75 6e 69 78 2b 6c 6f 63 61 6c 68 6f 73 74 2f 70 65 61 72 0a 41 sql://user@unix+localhost/pear.A
47de0 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 rray.(.....[phptype].=>.pgsql...
47e00 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e ..[dbsyntax].=>.pgsql.....[usern
47e20 61 6d 65 5d 20 3d 3e 20 75 73 65 72 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 0a 20 ame].=>.user.....[password].=>..
47e40 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 75 6e 69 78 0a 20 20 20 20 5b 68 6f 73 74 73 ...[protocol].=>.unix.....[hosts
47e60 70 65 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 pec].=>.....[port].=>.....[socke
47e80 74 5d 20 3d 3e 20 6c 6f 63 61 6c 68 6f 73 74 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d t].=>.localhost.....[database].=
47ea0 3e 20 70 65 61 72 0a 29 0a 44 53 4e 3a 20 69 62 61 73 65 3a 2f 2f 75 73 65 72 25 34 30 64 6f 6d >.pear.).DSN:.ibase://user%40dom
47ec0 61 69 6e 3a 70 61 73 73 77 6f 72 64 40 68 6f 73 74 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 ain:password@host.Array.(.....[p
47ee0 68 70 74 79 70 65 5d 20 3d 3e 20 69 62 61 73 65 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 hptype].=>.ibase.....[dbsyntax].
47f00 3d 3e 20 69 62 61 73 65 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 75 73 65 72 40 =>.ibase.....[username].=>.user@
47f20 64 6f 6d 61 69 6e 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 70 61 73 73 77 6f 72 domain.....[password].=>.passwor
47f40 64 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 d.....[protocol].=>.tcp.....[hos
47f60 74 73 70 65 63 5d 20 3d 3e 20 68 6f 73 74 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 tspec].=>.host.....[port].=>....
47f80 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 .[socket].=>.....[database].=>.)
47fa0 0a 44 53 4e 3a 20 69 62 61 73 65 3a 2f 2f 75 73 65 72 40 64 6f 6d 61 69 6e 3a 70 61 73 73 40 77 .DSN:.ibase://user@domain:pass@w
47fc0 6f 72 64 40 2f 64 61 74 61 62 61 73 65 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 ord@/database.Array.(.....[phpty
47fe0 70 65 5d 20 3d 3e 20 69 62 61 73 65 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 69 pe].=>.ibase.....[dbsyntax].=>.i
48000 62 61 73 65 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 75 73 65 72 40 64 6f 6d 61 base.....[username].=>.user@doma
48020 69 6e 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 70 61 73 73 40 77 6f 72 64 0a 20 in.....[password].=>.pass@word..
48040 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 ...[protocol].=>.tcp.....[hostsp
48060 65 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 ec].=>.....[port].=>.....[socket
48080 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 64 61 74 61 62 61 73 65 0a ].=>.....[database].=>.database.
480a0 29 0a 44 53 4e 3a 20 69 66 78 3a 2f 2f 75 73 65 72 40 64 6f 6d 61 69 6e 3a 70 61 73 73 40 77 6f ).DSN:.ifx://user@domain:pass@wo
480c0 72 64 40 68 6f 73 74 2e 63 6f 6d 2f 2f 75 73 72 2f 64 62 2f 67 65 6e 65 72 61 6c 2e 64 62 0a 41 rd@host.com//usr/db/general.db.A
480e0 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 69 66 78 0a 20 20 20 20 rray.(.....[phptype].=>.ifx.....
48100 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 69 66 78 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d [dbsyntax].=>.ifx.....[username]
48120 20 3d 3e 20 75 73 65 72 40 64 6f 6d 61 69 6e 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d .=>.user@domain.....[password].=
48140 3e 20 70 61 73 73 40 77 6f 72 64 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 >.pass@word.....[protocol].=>.tc
48160 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 68 6f 73 74 2e 63 6f 6d 0a 20 20 20 p.....[hostspec].=>.host.com....
48180 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b .[port].=>.....[socket].=>.....[
481a0 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 2f 75 73 72 2f 64 62 2f 67 65 6e 65 72 61 6c 2e 64 62 0a database].=>./usr/db/general.db.
481c0 29 0a 44 53 4e 3a 20 69 66 78 3a 2f 2f 72 65 6d 6f 74 65 2e 68 6f 73 74 2e 63 6f 6d 2f 63 3a 5c ).DSN:.ifx://remote.host.com/c:\
481e0 77 69 6e 64 6f 77 73 5c 6d 79 2e 64 62 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 windows\my.db.Array.(.....[phpty
48200 70 65 5d 20 3d 3e 20 69 66 78 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 69 66 78 pe].=>.ifx.....[dbsyntax].=>.ifx
48220 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 .....[username].=>.....[password
48240 5d 20 3d 3e 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b ].=>.....[protocol].=>.tcp.....[
48260 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 72 65 6d 6f 74 65 2e 68 6f 73 74 2e 63 6f 6d 0a 20 20 20 hostspec].=>.remote.host.com....
48280 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b .[port].=>.....[socket].=>.....[
482a0 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 63 3a 5c 77 69 6e 64 6f 77 73 5c 6d 79 2e 64 62 0a 29 0a database].=>.c:\windows\my.db.).
482c0 44 53 4e 3a 20 6f 63 69 38 3a 2f 2f 53 48 4f 4f 54 4f 55 54 3a 2a 2a 2a 2a 2a 2a 40 28 44 45 53 DSN:.oci8://SHOOTOUT:******@(DES
482e0 43 52 49 50 54 49 4f 4e 3d 28 41 44 44 52 45 53 53 5f 4c 49 53 54 3d 28 41 44 44 52 45 53 53 3d CRIPTION=(ADDRESS_LIST=(ADDRESS=
48300 28 50 52 4f 54 4f 43 4f 4c 3d 54 43 50 29 28 48 4f 53 54 3d 31 39 32 2e 31 36 38 2e 31 30 31 2e (PROTOCOL=TCP)(HOST=192.168.101.
48320 31 36 31 29 28 50 4f 52 54 3d 31 35 32 31 29 29 29 28 43 4f 4e 4e 45 43 54 5f 44 41 54 41 3d 28 161)(PORT=1521)))(CONNECT_DATA=(
48340 53 45 52 56 49 43 45 5f 4e 41 4d 45 3d 54 49 53 29 29 29 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 SERVICE_NAME=TIS))).Array.(.....
48360 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 6f 63 69 38 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d [phptype].=>.oci8.....[dbsyntax]
48380 20 3d 3e 20 6f 63 69 38 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 53 48 4f 4f 54 .=>.oci8.....[username].=>.SHOOT
483a0 4f 55 54 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 2a 2a 2a 2a 2a 2a 0a 20 20 20 OUT.....[password].=>.******....
483c0 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 .[protocol].=>.tcp.....[hostspec
483e0 5d 20 3d 3e 20 28 44 45 53 43 52 49 50 54 49 4f 4e 3d 28 41 44 44 52 45 53 53 5f 4c 49 53 54 3d ].=>.(DESCRIPTION=(ADDRESS_LIST=
48400 28 41 44 44 52 45 53 53 3d 28 50 52 4f 54 4f 43 4f 4c 3d 54 43 50 29 28 48 4f 53 54 3d 31 39 32 (ADDRESS=(PROTOCOL=TCP)(HOST=192
48420 2e 31 36 38 2e 31 30 31 2e 31 36 31 29 28 50 4f 52 54 3d 31 35 32 31 29 29 29 28 43 4f 4e 4e 45 .168.101.161)(PORT=1521)))(CONNE
48440 43 54 5f 44 41 54 41 3d 28 53 45 52 56 49 43 45 5f 4e 41 4d 45 3d 54 49 53 29 29 29 0a 20 20 20 CT_DATA=(SERVICE_NAME=TIS)))....
48460 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b .[port].=>.....[socket].=>.....[
48480 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 4e 3a 20 6f 64 62 63 28 73 6f 6c 69 64 29 3a database].=>.).DSN:.odbc(solid):
484a0 2f 2f 66 6f 6f 3a 62 61 72 40 6c 6f 63 61 6c 68 6f 73 74 3a 31 33 31 33 0a 41 72 72 61 79 0a 28 //foo:bar@localhost:1313.Array.(
484c0 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 6f 64 62 63 0a 20 20 20 20 5b 64 62 73 79 .....[phptype].=>.odbc.....[dbsy
484e0 6e 74 61 78 5d 20 3d 3e 20 73 6f 6c 69 64 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e ntax].=>.solid.....[username].=>
48500 20 66 6f 6f 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 62 61 72 0a 20 20 20 20 5b .foo.....[password].=>.bar.....[
48520 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 protocol].=>.tcp.....[hostspec].
48540 3d 3e 20 6c 6f 63 61 6c 68 6f 73 74 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 20 31 33 31 33 0a =>.localhost.....[port].=>.1313.
48560 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d ....[socket].=>.....[database].=
48580 3e 0a 29 0a 44 53 4e 3a 20 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 75 6e 69 78 28 29 2f 70 65 61 >.).DSN:.pgsql://user@unix()/pea
485a0 72 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 70 67 73 71 6c r.Array.(.....[phptype].=>.pgsql
485c0 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b 75 73 .....[dbsyntax].=>.pgsql.....[us
485e0 65 72 6e 61 6d 65 5d 20 3d 3e 20 75 73 65 72 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d ername].=>.user.....[password].=
48600 3e 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 75 6e 69 78 0a 20 20 20 20 5b 68 6f >.....[protocol].=>.unix.....[ho
48620 73 74 73 70 65 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f stspec].=>.....[port].=>.....[so
48640 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 70 65 61 72 0a cket].=>.....[database].=>.pear.
48660 29 0a 44 53 4e 3a 20 6d 79 73 71 6c 3a 2f 2f 75 73 65 72 40 75 6e 69 78 28 2f 70 61 74 68 2f 74 ).DSN:.mysql://user@unix(/path/t
48680 6f 2f 73 6f 63 6b 65 74 29 2f 70 65 61 72 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 o/socket)/pear.Array.(.....[phpt
486a0 79 70 65 5d 20 3d 3e 20 6d 79 73 71 6c 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 ype].=>.mysql.....[dbsyntax].=>.
486c0 6d 79 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 75 73 65 72 0a 20 20 20 mysql.....[username].=>.user....
486e0 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e .[password].=>.....[protocol].=>
48700 20 75 6e 69 78 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 .unix.....[hostspec].=>.....[por
48720 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 20 2f 70 61 74 68 2f 74 6f 2f 73 t].=>.....[socket].=>./path/to/s
48740 6f 63 6b 65 74 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 70 65 61 72 0a 29 0a 44 ocket.....[database].=>.pear.).D
48760 53 4e 3a 20 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 74 63 70 28 29 2f 70 65 61 72 0a 41 72 72 61 SN:.pgsql://user@tcp()/pear.Arra
48780 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b y.(.....[phptype].=>.pgsql.....[
487a0 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 dbsyntax].=>.pgsql.....[username
487c0 5d 20 3d 3e 20 75 73 65 72 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 0a 20 20 20 20 ].=>.user.....[password].=>.....
487e0 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d [protocol].=>.tcp.....[hostspec]
48800 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d .=>.....[port].=>.....[socket].=
48820 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 70 65 61 72 0a 29 0a 44 53 4e 3a 20 >.....[database].=>.pear.).DSN:.
48840 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 74 63 70 28 73 6f 6d 65 68 6f 73 74 29 2f 70 65 61 72 0a pgsql://user@tcp(somehost)/pear.
48860 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 Array.(.....[phptype].=>.pgsql..
48880 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 ...[dbsyntax].=>.pgsql.....[user
488a0 6e 61 6d 65 5d 20 3d 3e 20 75 73 65 72 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 0a name].=>.user.....[password].=>.
488c0 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 ....[protocol].=>.tcp.....[hosts
488e0 70 65 63 5d 20 3d 3e 20 73 6f 6d 65 68 6f 73 74 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 pec].=>.somehost.....[port].=>..
48900 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e ...[socket].=>.....[database].=>
48920 20 70 65 61 72 0a 29 0a 44 53 4e 3a 20 70 67 73 71 6c 3a 2f 2f 75 73 65 72 3a 70 61 73 73 40 77 .pear.).DSN:.pgsql://user:pass@w
48940 6f 72 64 40 74 63 70 28 73 6f 6d 65 68 6f 73 74 3a 37 37 37 37 29 2f 70 65 61 72 0a 41 72 72 61 ord@tcp(somehost:7777)/pear.Arra
48960 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b y.(.....[phptype].=>.pgsql.....[
48980 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 dbsyntax].=>.pgsql.....[username
489a0 5d 20 3d 3e 20 75 73 65 72 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 70 61 73 73 ].=>.user.....[password].=>.pass
489c0 40 77 6f 72 64 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 @word.....[protocol].=>.tcp.....
489e0 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 73 6f 6d 65 68 6f 73 74 0a 20 20 20 20 5b 70 6f 72 74 [hostspec].=>.somehost.....[port
48a00 5d 20 3d 3e 20 37 37 37 37 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d 20 3d 3e 0a 20 20 20 20 5b 64 ].=>.7777.....[socket].=>.....[d
48a20 61 74 61 62 61 73 65 5d 20 3d 3e 20 70 65 61 72 0a 29 0a 44 53 4e 3a 20 69 62 61 73 65 3a 2f 2f atabase].=>.pear.).DSN:.ibase://
48a40 75 73 65 72 3a 70 61 73 73 40 6c 6f 63 61 6c 68 6f 73 74 2f 2f 76 61 72 2f 6c 69 62 2f 64 62 61 user:pass@localhost//var/lib/dba
48a60 73 65 2e 64 62 66 3f 72 6f 6c 65 3d 66 6f 6f 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 se.dbf?role=foo.Array.(.....[php
48a80 74 79 70 65 5d 20 3d 3e 20 69 62 61 73 65 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e type].=>.ibase.....[dbsyntax].=>
48aa0 20 69 62 61 73 65 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 75 73 65 72 0a 20 20 .ibase.....[username].=>.user...
48ac0 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 70 61 73 73 0a 20 20 20 20 5b 70 72 6f 74 6f 63 ..[password].=>.pass.....[protoc
48ae0 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 6c 6f 63 ol].=>.tcp.....[hostspec].=>.loc
48b00 61 6c 68 6f 73 74 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 alhost.....[port].=>.....[socket
48b20 5d 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 2f 76 61 72 2f 6c 69 62 2f ].=>.....[database].=>./var/lib/
48b40 64 62 61 73 65 2e 64 62 66 0a 20 20 20 20 5b 72 6f 6c 65 5d 20 3d 3e 20 66 6f 6f 0a 29 0a 44 53 dbase.dbf.....[role].=>.foo.).DS
48b60 4e 3a 20 64 62 61 73 65 3a 2f 2f 40 2f 3f 72 6f 6c 65 3d 66 6f 6f 26 64 69 61 6c 65 63 74 3d 62 N:.dbase://@/?role=foo&dialect=b
48b80 61 72 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 64 62 61 73 ar.Array.(.....[phptype].=>.dbas
48ba0 65 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 64 62 61 73 65 0a 20 20 20 20 5b 75 e.....[dbsyntax].=>.dbase.....[u
48bc0 73 65 72 6e 61 6d 65 5d 20 3d 3e 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 0a 20 20 sername].=>.....[password].=>...
48be0 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 20 74 63 70 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 ..[protocol].=>.tcp.....[hostspe
48c00 63 5d 20 3d 3e 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a 20 20 20 20 5b 73 6f 63 6b 65 74 5d c].=>.....[port].=>.....[socket]
48c20 20 3d 3e 0a 20 20 20 20 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 20 20 20 20 5b 72 6f 6c 65 5d .=>.....[database].=>.....[role]
48c40 20 3d 3e 20 66 6f 6f 0a 20 20 20 20 5b 64 69 61 6c 65 63 74 5d 20 3d 3e 20 62 61 72 0a 29 0a 00 .=>.foo.....[dialect].=>.bar.)..
48c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 62 5f 66 61 63 74 6f 72 79 2e 70 68 70 74 00 00 00 00 DB-1.3/tests/db_factory.phpt....
48e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
48e80 20 20 20 32 31 34 33 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 31 30 34 34 20 00 00 00 00 00 ...2143..7467414724..11044......
48ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49000 2d 2d 54 45 53 54 2d 2d 0a 44 42 3a 3a 66 61 63 74 6f 72 79 20 74 65 73 74 0a 2d 2d 53 4b 49 50 --TEST--.DB::factory.test.--SKIP
49020 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 66 20 28 21 40 69 6e 63 6c 75 64 65 28 22 44 42 2e 70 68 70 IF--.<?php.if.(!@include("DB.php
49040 22 29 29 20 70 72 69 6e 74 20 22 73 6b 69 70 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f ")).print."skip";.?>.--FILE--.<?
49060 70 68 70 20 2f 2f 20 2d 2a 2d 20 43 2b 2b 20 2d 2a 2d 0a 0a 2f 2f 20 54 65 73 74 20 66 6f 72 3a php.//.-*-.C++.-*-..//.Test.for:
49080 20 44 42 2e 70 68 70 0a 2f 2f 20 50 61 72 74 73 20 74 65 73 74 65 64 3a 20 44 42 5f 45 72 72 6f .DB.php.//.Parts.tested:.DB_Erro
490a0 72 2c 20 44 42 5f 57 61 72 6e 69 6e 67 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e r,.DB_Warning..require_once."DB.
490c0 70 68 70 22 3b 0a 0a 24 62 61 63 6b 65 6e 64 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 22 69 php";..$backends.=.array(....."i
490e0 62 61 73 65 22 2c 0a 20 20 20 20 22 6d 73 71 6c 22 2c 0a 20 20 20 20 22 6d 73 73 71 6c 22 2c 0a base",....."msql",....."mssql",.
49100 20 20 20 20 22 6d 79 73 71 6c 22 2c 0a 20 20 20 20 22 6f 63 69 38 22 2c 0a 20 20 20 20 22 6f 64 ...."mysql",....."oci8",....."od
49120 62 63 22 2c 0a 20 20 20 20 22 70 67 73 71 6c 22 2c 0a 20 20 20 20 22 73 79 62 61 73 65 22 0a 29 bc",....."pgsql",....."sybase".)
49140 3b 0a 0a 72 65 73 65 74 28 24 62 61 63 6b 65 6e 64 73 29 3b 0a 77 68 69 6c 65 20 28 6c 69 73 74 ;..reset($backends);.while.(list
49160 28 24 69 2c 20 24 6e 61 6d 65 29 20 3d 20 65 61 63 68 28 24 62 61 63 6b 65 6e 64 73 29 29 20 7b ($i,.$name).=.each($backends)).{
49180 0a 20 20 20 20 70 72 69 6e 74 20 22 74 65 73 74 69 6e 67 20 24 6e 61 6d 65 3a 20 22 3b 0a 20 20 .....print."testing.$name:.";...
491a0 20 20 24 6f 62 6a 20 3d 20 44 42 3a 3a 66 61 63 74 6f 72 79 28 24 6e 61 6d 65 29 3b 0a 20 20 20 ..$obj.=.DB::factory($name);....
491c0 20 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 6f 62 6a 29 29 20 7b 0a 09 70 72 69 6e 74 .if.(DB::isError($obj)).{..print
491e0 20 22 65 72 72 6f 72 3a 20 22 2e 24 6f 62 6a 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 22 5c ."error:.".$obj->getMessage()."\
49200 6e 22 3b 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 09 70 72 69 6e 74 20 22 6f 62 6a 65 63 74 3a n";.....}.else.{..print."object:
49220 20 22 2e 24 6f 62 6a 2d 3e 74 6f 53 74 72 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 20 20 20 20 7d 0a .".$obj->toString()."\n";.....}.
49240 7d 0a 0a 3f 3e 0a 2d 2d 47 45 54 2d 2d 0a 2d 2d 50 4f 53 54 2d 2d 0a 2d 2d 45 58 50 45 43 54 2d }..?>.--GET--.--POST--.--EXPECT-
49260 2d 0a 74 65 73 74 69 6e 67 20 69 62 61 73 65 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 69 62 61 73 -.testing.ibase:.object:.db_ibas
49280 65 3a 20 28 70 68 70 74 79 70 65 3d 69 62 61 73 65 2c 20 64 62 73 79 6e 74 61 78 3d 69 62 61 73 e:.(phptype=ibase,.dbsyntax=ibas
492a0 65 29 0a 74 65 73 74 69 6e 67 20 6d 73 71 6c 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 6d 73 71 6c e).testing.msql:.object:.db_msql
492c0 3a 20 28 70 68 70 74 79 70 65 3d 6d 73 71 6c 2c 20 64 62 73 79 6e 74 61 78 3d 6d 73 71 6c 29 0a :.(phptype=msql,.dbsyntax=msql).
492e0 74 65 73 74 69 6e 67 20 6d 73 73 71 6c 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 6d 73 73 71 6c 3a testing.mssql:.object:.db_mssql:
49300 20 28 70 68 70 74 79 70 65 3d 6d 73 73 71 6c 2c 20 64 62 73 79 6e 74 61 78 3d 6d 73 73 71 6c 29 .(phptype=mssql,.dbsyntax=mssql)
49320 0a 74 65 73 74 69 6e 67 20 6d 79 73 71 6c 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 6d 79 73 71 6c .testing.mysql:.object:.db_mysql
49340 3a 20 28 70 68 70 74 79 70 65 3d 6d 79 73 71 6c 2c 20 64 62 73 79 6e 74 61 78 3d 6d 79 73 71 6c :.(phptype=mysql,.dbsyntax=mysql
49360 29 0a 74 65 73 74 69 6e 67 20 6f 63 69 38 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 6f 63 69 38 3a ).testing.oci8:.object:.db_oci8:
49380 20 28 70 68 70 74 79 70 65 3d 6f 63 69 38 2c 20 64 62 73 79 6e 74 61 78 3d 6f 63 69 38 29 0a 74 .(phptype=oci8,.dbsyntax=oci8).t
493a0 65 73 74 69 6e 67 20 6f 64 62 63 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 6f 64 62 63 3a 20 28 70 esting.odbc:.object:.db_odbc:.(p
493c0 68 70 74 79 70 65 3d 6f 64 62 63 2c 20 64 62 73 79 6e 74 61 78 3d 73 71 6c 39 32 29 0a 74 65 73 hptype=odbc,.dbsyntax=sql92).tes
493e0 74 69 6e 67 20 70 67 73 71 6c 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 70 67 73 71 6c 3a 20 28 70 ting.pgsql:.object:.db_pgsql:.(p
49400 68 70 74 79 70 65 3d 70 67 73 71 6c 2c 20 64 62 73 79 6e 74 61 78 3d 70 67 73 71 6c 29 0a 74 65 hptype=pgsql,.dbsyntax=pgsql).te
49420 73 74 69 6e 67 20 73 79 62 61 73 65 3a 20 6f 62 6a 65 63 74 3a 20 64 62 5f 73 79 62 61 73 65 3a sting.sybase:.object:.db_sybase:
49440 20 28 70 68 70 74 79 70 65 3d 73 79 62 61 73 65 2c 20 64 62 73 79 6e 74 61 78 3d 73 79 62 61 73 .(phptype=sybase,.dbsyntax=sybas
49460 65 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e)..............................
49480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
494a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
494c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
494e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
495a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
495c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
495e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49600 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 62 5f 69 73 6d 61 6e 69 70 2e 70 68 70 74 00 00 00 00 DB-1.3/tests/db_ismanip.phpt....
49620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
49680 20 20 20 32 32 36 31 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 31 30 33 36 20 00 00 00 00 00 ...2261..7467414724..11036......
496a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
496c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
496e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
497a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
497c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
497e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49800 2d 2d 54 45 53 54 2d 2d 0a 44 42 3a 3a 69 73 4d 61 6e 69 70 20 74 65 73 74 0a 2d 2d 53 4b 49 50 --TEST--.DB::isManip.test.--SKIP
49820 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 66 20 28 21 40 69 6e 63 6c 75 64 65 28 22 44 42 2e 70 68 70 IF--.<?php.if.(!@include("DB.php
49840 22 29 29 20 70 72 69 6e 74 20 22 73 6b 69 70 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f ")).print."skip";.?>.--FILE--.<?
49860 70 68 70 20 2f 2f 20 2d 2a 2d 20 43 2b 2b 20 2d 2a 2d 0a 0a 2f 2f 20 54 65 73 74 20 66 6f 72 3a php.//.-*-.C++.-*-..//.Test.for:
49880 20 44 42 2e 70 68 70 0a 2f 2f 20 50 61 72 74 73 20 74 65 73 74 65 64 3a 20 44 42 3a 3a 69 73 4d .DB.php.//.Parts.tested:.DB::isM
498a0 61 6e 69 70 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 0a 66 75 anip..require_once."DB.php";..fu
498c0 6e 63 74 69 6f 6e 20 74 65 73 74 28 24 71 75 65 72 79 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 66 nction.test($query).{.....printf
498e0 28 22 25 73 20 3a 20 25 64 5c 6e 22 2c 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2b ("%s.:.%d\n",.preg_replace('/\s+
49900 2e 2a 2f 27 2c 20 27 27 2c 20 24 71 75 65 72 79 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 44 42 .*/',.'',.$query),............DB
49920 3a 3a 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 29 3b 0a 7d 0a 0a 70 72 69 6e 74 20 22 74 65 ::isManip($query));.}..print."te
49940 73 74 69 6e 67 20 44 42 3a 3a 69 73 4d 61 6e 69 70 2e 2e 2e 5c 6e 22 3b 0a 0a 74 65 73 74 28 22 sting.DB::isManip...\n";..test("
49960 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 61 62 6c 65 22 29 3b 0a 74 65 73 74 28 22 53 65 6c SELECT.*.FROM.table");.test("Sel
49980 65 63 74 20 2a 20 66 72 6f 6d 20 74 61 62 6c 65 22 29 3b 0a 74 65 73 74 28 22 73 65 6c 65 63 74 ect.*.from.table");.test("select
499a0 20 2a 20 46 72 6f 6d 20 74 61 62 6c 65 22 29 3b 0a 74 65 73 74 28 22 73 45 6c 45 43 74 20 2a 20 .*.From.table");.test("sElECt.*.
499c0 66 72 4f 6d 20 74 61 62 6c 65 22 29 3b 0a 74 65 73 74 28 22 53 45 4c 45 43 54 20 44 49 53 54 49 frOm.table");.test("SELECT.DISTI
499e0 4e 43 54 20 6e 61 6d 65 20 46 52 4f 4d 20 74 61 62 6c 65 22 29 3b 0a 74 65 73 74 28 22 55 50 44 NCT.name.FROM.table");.test("UPD
49a00 41 54 45 20 74 61 62 6c 65 20 53 45 54 20 66 6f 6f 20 3d 20 27 62 61 72 27 22 29 3b 0a 74 65 73 ATE.table.SET.foo.=.'bar'");.tes
49a20 74 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 74 61 62 6c 65 22 29 3b 0a 74 65 73 74 28 22 64 65 t("DELETE.FROM.table");.test("de
49a40 6c 65 74 65 20 66 72 6f 6d 20 74 61 62 6c 65 20 77 68 65 72 65 20 69 64 20 69 73 20 6e 75 6c 6c lete.from.table.where.id.is.null
49a60 22 29 3b 0a 74 65 73 74 28 22 63 72 65 61 74 65 20 74 61 62 6c 65 20 28 69 64 20 69 6e 74 65 67 ");.test("create.table.(id.integ
49a80 65 72 2c 20 6e 61 6d 65 20 76 61 72 63 68 61 72 28 31 30 30 29 29 22 29 3b 0a 74 65 73 74 28 22 er,.name.varchar(100))");.test("
49aa0 43 52 45 41 54 45 20 53 45 51 55 45 4e 43 45 20 66 6f 6f 22 29 3b 0a 74 65 73 74 28 22 5c 22 43 CREATE.SEQUENCE.foo");.test("\"C
49ac0 52 45 41 54 45 20 50 52 4f 43 45 44 55 52 45 20 66 6f 6f 5c 22 22 29 3b 0a 74 65 73 74 28 22 47 REATE.PROCEDURE.foo\"");.test("G
49ae0 52 41 4e 54 20 53 45 4c 45 43 54 20 4f 4e 20 74 61 62 6c 65 20 54 4f 20 75 73 65 72 22 29 3b 0a RANT.SELECT.ON.table.TO.user");.
49b00 74 65 73 74 28 22 52 45 56 4f 4b 45 20 53 45 4c 45 43 54 20 4f 4e 20 74 61 62 6c 65 20 46 52 4f test("REVOKE.SELECT.ON.table.FRO
49b20 4d 20 75 73 65 72 22 29 3b 0a 74 65 73 74 28 22 53 48 4f 57 20 4f 50 54 49 4f 4e 53 22 29 3b 0a M.user");.test("SHOW.OPTIONS");.
49b40 74 65 73 74 28 22 44 52 4f 50 20 54 41 42 4c 45 20 66 6f 6f 22 29 3b 0a 74 65 73 74 28 22 41 4c test("DROP.TABLE.foo");.test("AL
49b60 54 45 52 20 54 41 42 4c 45 20 66 6f 6f 20 41 44 44 20 43 4f 4c 55 4d 4e 20 28 62 61 72 20 49 4e TER.TABLE.foo.ADD.COLUMN.(bar.IN
49b80 54 45 47 45 52 29 22 29 3b 0a 74 65 73 74 28 22 20 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 TEGER)");.test("..SELECT.*.FROM.
49ba0 74 61 62 6c 65 22 29 3b 0a 74 65 73 74 28 22 20 20 44 45 4c 45 54 45 20 46 52 4f 4d 20 74 61 62 table");.test("..DELETE.FROM.tab
49bc0 6c 65 22 29 3b 0a 3f 3e 0a 2d 2d 47 45 54 2d 2d 0a 2d 2d 50 4f 53 54 2d 2d 0a 2d 2d 45 58 50 45 le");.?>.--GET--.--POST--.--EXPE
49be0 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 44 42 3a 3a 69 73 4d 61 6e 69 70 2e 2e 2e 0a 53 45 4c 45 CT--.testing.DB::isManip....SELE
49c00 43 54 20 3a 20 30 0a 53 65 6c 65 63 74 20 3a 20 30 0a 73 65 6c 65 63 74 20 3a 20 30 0a 73 45 6c CT.:.0.Select.:.0.select.:.0.sEl
49c20 45 43 74 20 3a 20 30 0a 53 45 4c 45 43 54 20 3a 20 30 0a 55 50 44 41 54 45 20 3a 20 31 0a 44 45 ECt.:.0.SELECT.:.0.UPDATE.:.1.DE
49c40 4c 45 54 45 20 3a 20 31 0a 64 65 6c 65 74 65 20 3a 20 31 0a 63 72 65 61 74 65 20 3a 20 31 0a 43 LETE.:.1.delete.:.1.create.:.1.C
49c60 52 45 41 54 45 20 3a 20 31 0a 22 43 52 45 41 54 45 20 3a 20 31 0a 47 52 41 4e 54 20 3a 20 31 0a REATE.:.1."CREATE.:.1.GRANT.:.1.
49c80 52 45 56 4f 4b 45 20 3a 20 31 0a 53 48 4f 57 20 3a 20 30 0a 44 52 4f 50 20 3a 20 31 0a 41 4c 54 REVOKE.:.1.SHOW.:.0.DROP.:.1.ALT
49ca0 45 52 20 3a 20 31 0a 20 3a 20 30 0a 20 3a 20 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ER.:.1..:.0..:.1................
49cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 62 5f 65 72 72 6f 72 32 2e 70 68 70 74 00 00 00 00 00 DB-1.3/tests/db_error2.phpt.....
49e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
49e80 20 20 20 35 31 32 31 20 20 37 34 37 32 36 37 34 35 36 30 20 20 31 30 36 31 31 20 00 00 00 00 00 ...5121..7472674560..10611......
49ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a000 2d 2d 54 45 53 54 2d 2d 0a 44 42 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 20 65 72 72 6f 72 20 68 --TEST--.DB.configurable.error.h
4a020 61 6e 64 6c 65 72 20 74 65 73 74 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 0a 72 65 71 75 andler.test.--FILE--.<?php..requ
4a040 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 ire_once."DB.php";.error_reporti
4a060 6e 67 28 34 30 39 35 29 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 6d 79 66 75 6e 63 28 26 24 6f 62 6a ng(4095);..function.myfunc(&$obj
4a080 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 6d 79 66 75 6e 63 20 68 65 72 65 2c 20 6f 62 6a 3d ).{.....print."myfunc.here,.obj=
4a0a0 22 2e 24 6f 62 6a 2d 3e 74 6f 53 74 72 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 7d 0a 66 75 6e 63 74 ".$obj->toString()."\n";.}.funct
4a0c0 69 6f 6e 20 6d 79 66 75 6e 63 32 28 26 24 6f 62 6a 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 ion.myfunc2(&$obj).{.....print."
4a0e0 6d 79 66 75 6e 63 32 20 68 65 72 65 2c 20 6f 62 6a 3d 22 2e 24 6f 62 6a 2d 3e 74 6f 53 74 72 69 myfunc2.here,.obj=".$obj->toStri
4a100 6e 67 28 29 2e 22 5c 6e 22 3b 0a 7d 0a 63 6c 61 73 73 20 6d 79 63 6c 61 73 73 20 7b 0a 20 20 20 ng()."\n";.}.class.myclass.{....
4a120 20 66 75 6e 63 74 69 6f 6e 20 6d 79 66 75 6e 63 28 26 24 6f 62 6a 29 20 7b 0a 20 20 20 20 20 20 .function.myfunc(&$obj).{.......
4a140 20 20 70 72 69 6e 74 20 22 6d 79 63 6c 61 73 73 3a 3a 6d 79 66 75 6e 63 20 68 65 72 65 2c 20 6f ..print."myclass::myfunc.here,.o
4a160 62 6a 3d 22 2e 24 6f 62 6a 2d 3e 74 6f 53 74 72 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 20 20 20 20 bj=".$obj->toString()."\n";.....
4a180 7d 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 }.}.function.test_error_handler(
4a1a0 24 65 72 72 6e 6f 2c 20 24 65 72 72 6d 73 67 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 2c 20 24 $errno,.$errmsg,.$file,.$line,.$
4a1c0 76 61 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 74 79 70 65 20 3d 20 61 72 72 vars).{.........$errortype.=.arr
4a1e0 61 79 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 20 20 20 3d 3e 20 20 22 45 72 ay.(.................1...=>.."Er
4a200 72 6f 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 20 20 20 3d 3e 20 20 22 57 ror",.................2...=>.."W
4a220 61 72 6e 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 20 20 20 3d 3e 20 arning",.................4...=>.
4a240 20 22 50 61 72 73 69 6e 67 20 45 72 72 6f 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."Parsing.Error",...............
4a260 20 20 38 20 20 20 3d 3e 20 20 22 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..8...=>.."Notice",.............
4a280 20 20 20 20 31 36 20 20 3d 3e 20 20 22 43 6f 72 65 20 45 72 72 6f 72 22 2c 0a 20 20 20 20 20 20 ....16..=>.."Core.Error",.......
4a2a0 20 20 20 20 20 20 20 20 20 20 33 32 20 20 3d 3e 20 20 22 43 6f 72 65 20 57 61 72 6e 69 6e 67 22 ..........32..=>.."Core.Warning"
4a2c0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 36 34 20 20 3d 3e 20 20 22 43 6f 6d 70 69 ,.................64..=>.."Compi
4a2e0 6c 65 20 45 72 72 6f 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 32 38 20 3d le.Error",.................128.=
4a300 3e 20 20 22 43 6f 6d 70 69 6c 65 20 57 61 72 6e 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 >.."Compile.Warning",...........
4a320 20 20 20 20 20 20 32 35 36 20 3d 3e 20 20 22 55 73 65 72 20 45 72 72 6f 72 22 2c 0a 20 20 20 20 ......256.=>.."User.Error",.....
4a340 20 20 20 20 20 20 20 20 20 20 20 20 35 31 32 20 3d 3e 20 20 22 55 73 65 72 20 57 61 72 6e 69 6e ............512.=>.."User.Warnin
4a360 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 32 34 3d 3e 20 20 22 55 73 65 g",.................1024=>.."Use
4a380 72 20 4e 6f 74 69 63 65 22 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 70 72 r.Notice".........);.........$pr
4a3a0 65 66 69 78 20 3d 20 24 65 72 72 6f 72 74 79 70 65 5b 24 65 72 72 6e 6f 5d 3b 0a 20 20 20 20 20 efix.=.$errortype[$errno];......
4a3c0 20 20 20 24 66 69 6c 65 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 66 69 6c 65 29 3b 0a 20 20 20 20 ...$file.=.basename($file);.....
4a3e0 20 20 20 20 70 72 69 6e 74 20 22 24 70 72 65 66 69 78 3a 20 24 65 72 72 6d 73 67 20 69 6e 20 24 ....print."$prefix:.$errmsg.in.$
4a400 66 69 6c 65 20 6f 6e 20 6c 69 6e 65 20 58 58 58 5c 6e 22 3b 0a 7d 0a 0a 24 6f 62 6a 20 3d 20 6e file.on.line.XXX\n";.}..$obj.=.n
4a420 65 77 20 6d 79 63 6c 61 73 73 3b 0a 0a 24 64 62 68 20 3d 20 44 42 3a 3a 66 61 63 74 6f 72 79 28 ew.myclass;..$dbh.=.DB::factory(
4a440 22 6d 79 73 71 6c 22 29 3b 0a 0a 70 72 69 6e 74 20 22 64 65 66 61 75 6c 74 3a 20 22 3b 0a 24 65 "mysql");..print."default:.";.$e
4a460 20 3d 20 24 64 62 68 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 72 65 74 75 72 6e 20 74 65 73 74 .=.$dbh->raiseError("return.test
4a480 69 6e 67 20 65 72 72 6f 72 22 29 3b 0a 70 72 69 6e 74 20 24 65 2d 3e 74 6f 53 74 72 69 6e 67 28 ing.error");.print.$e->toString(
4a4a0 29 20 2e 20 22 5c 6e 22 3b 0a 0a 70 72 69 6e 74 20 22 67 6c 6f 62 61 6c 20 64 65 66 61 75 6c 74 )..."\n";..print."global.default
4a4c0 3a 20 22 3b 0a 50 45 41 52 3a 3a 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 :.";.PEAR::setErrorHandling(PEAR
4a4e0 5f 45 52 52 4f 52 5f 43 41 4c 4c 42 41 43 4b 2c 20 22 6d 79 66 75 6e 63 32 22 29 3b 0a 24 65 20 _ERROR_CALLBACK,."myfunc2");.$e.
4a500 3d 20 24 64 62 68 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 67 6c 6f 62 61 6c 20 64 65 66 61 75 =.$dbh->raiseError("global.defau
4a520 6c 74 20 74 65 73 74 22 29 3b 0a 0a 24 64 62 68 2d 3e 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 69 lt.test");..$dbh->setErrorHandli
4a540 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 50 52 49 4e 54 29 3b 0a 70 72 69 6e 74 20 22 6d 6f 64 ng(PEAR_ERROR_PRINT);.print."mod
4a560 65 3d 70 72 69 6e 74 3a 20 22 3b 0a 24 65 20 3d 20 24 64 62 68 2d 3e 72 61 69 73 65 45 72 72 6f e=print:.";.$e.=.$dbh->raiseErro
4a580 72 28 22 70 72 69 6e 74 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 22 29 3b 0a 70 72 69 6e 74 20 r("print.testing.error");.print.
4a5a0 22 5c 6e 22 3b 0a 0a 24 64 62 68 2d 3e 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 "\n";..$dbh->setErrorHandling(PE
4a5c0 41 52 5f 45 52 52 4f 52 5f 43 41 4c 4c 42 41 43 4b 2c 20 22 6d 79 66 75 6e 63 22 29 3b 0a 70 72 AR_ERROR_CALLBACK,."myfunc");.pr
4a5e0 69 6e 74 20 22 6d 6f 64 65 3d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 3a 20 22 3b 0a int."mode=function.callback:.";.
4a600 24 65 20 3d 20 24 64 62 68 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 66 75 6e 63 74 69 6f 6e 20 $e.=.$dbh->raiseError("function.
4a620 63 61 6c 6c 62 61 63 6b 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 22 29 3b 0a 0a 24 64 62 68 2d callback.testing.error");..$dbh-
4a640 3e 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 43 41 4c >setErrorHandling(PEAR_ERROR_CAL
4a660 4c 42 41 43 4b 2c 20 61 72 72 61 79 28 24 6f 62 6a 2c 20 22 6d 79 66 75 6e 63 22 29 29 3b 0a 70 LBACK,.array($obj,."myfunc"));.p
4a680 72 69 6e 74 20 22 6d 6f 64 65 3d 6f 62 6a 65 63 74 20 63 61 6c 6c 62 61 63 6b 3a 20 22 3b 0a 24 rint."mode=object.callback:.";.$
4a6a0 65 20 3d 20 24 64 62 68 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 6f 62 6a 65 63 74 20 63 61 6c e.=.$dbh->raiseError("object.cal
4a6c0 6c 62 61 63 6b 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 22 29 3b 0a 0a 73 65 74 5f 65 72 72 6f lback.testing.error");..set_erro
4a6e0 72 5f 68 61 6e 64 6c 65 72 28 22 74 65 73 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 22 29 3b r_handler("test_error_handler");
4a700 0a 24 64 62 68 2d 3e 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 .$dbh->setErrorHandling(PEAR_ERR
4a720 4f 52 5f 54 52 49 47 47 45 52 29 3b 0a 70 72 69 6e 74 20 22 6d 6f 64 65 3d 74 72 69 67 67 65 72 OR_TRIGGER);.print."mode=trigger
4a740 3a 20 22 3b 0a 24 65 20 3d 20 24 64 62 68 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 74 72 69 67 :.";.$e.=.$dbh->raiseError("trig
4a760 67 65 72 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 22 29 3b 0a 0a 3f 3e 0a 2d 2d 45 58 50 45 43 ger.testing.error");..?>.--EXPEC
4a780 54 2d 2d 0a 64 65 66 61 75 6c 74 3a 20 5b 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d T--.default:.[db_error:.message=
4a7a0 22 44 42 20 45 72 72 6f 72 3a 20 72 65 74 75 72 6e 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 22 "DB.Error:.return.testing.error"
4a7c0 20 63 6f 64 65 3d 2d 31 20 6d 6f 64 65 3d 72 65 74 75 72 6e 20 6c 65 76 65 6c 3d 6e 6f 74 69 63 .code=-1.mode=return.level=notic
4a7e0 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a 67 6c 6f 62 61 6c 20 64 65 66 61 e.prefix="".info=""].global.defa
4a800 75 6c 74 3a 20 6d 79 66 75 6e 63 32 20 68 65 72 65 2c 20 6f 62 6a 3d 5b 64 62 5f 65 72 72 6f 72 ult:.myfunc2.here,.obj=[db_error
4a820 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 67 6c 6f 62 61 6c 20 64 65 66 61 :.message="DB.Error:.global.defa
4a840 75 6c 74 20 74 65 73 74 22 20 63 6f 64 65 3d 2d 31 20 6d 6f 64 65 3d 63 61 6c 6c 62 61 63 6b 20 ult.test".code=-1.mode=callback.
4a860 63 61 6c 6c 62 61 63 6b 3d 6d 79 66 75 6e 63 32 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d callback=myfunc2.prefix="".info=
4a880 22 22 5d 0a 6d 6f 64 65 3d 70 72 69 6e 74 3a 20 44 42 20 45 72 72 6f 72 3a 20 70 72 69 6e 74 20 ""].mode=print:.DB.Error:.print.
4a8a0 74 65 73 74 69 6e 67 20 65 72 72 6f 72 0a 6d 6f 64 65 3d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c testing.error.mode=function.call
4a8c0 62 61 63 6b 3a 20 6d 79 66 75 6e 63 20 68 65 72 65 2c 20 6f 62 6a 3d 5b 64 62 5f 65 72 72 6f 72 back:.myfunc.here,.obj=[db_error
4a8e0 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 66 75 6e 63 74 69 6f 6e 20 63 61 :.message="DB.Error:.function.ca
4a900 6c 6c 62 61 63 6b 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 22 20 63 6f 64 65 3d 2d 31 20 6d 6f llback.testing.error".code=-1.mo
4a920 64 65 3d 63 61 6c 6c 62 61 63 6b 20 63 61 6c 6c 62 61 63 6b 3d 6d 79 66 75 6e 63 20 70 72 65 66 de=callback.callback=myfunc.pref
4a940 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a 6d 6f 64 65 3d 6f 62 6a 65 63 74 20 63 61 6c 6c 62 ix="".info=""].mode=object.callb
4a960 61 63 6b 3a 20 6d 79 63 6c 61 73 73 3a 3a 6d 79 66 75 6e 63 20 68 65 72 65 2c 20 6f 62 6a 3d 5b ack:.myclass::myfunc.here,.obj=[
4a980 64 62 5f 65 72 72 6f 72 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 6f 62 6a db_error:.message="DB.Error:.obj
4a9a0 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 22 20 63 6f 64 65 ect.callback.testing.error".code
4a9c0 3d 2d 31 20 6d 6f 64 65 3d 63 61 6c 6c 62 61 63 6b 20 63 61 6c 6c 62 61 63 6b 3d 6d 79 63 6c 61 =-1.mode=callback.callback=mycla
4a9e0 73 73 3a 3a 6d 79 66 75 6e 63 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a 6d 6f ss::myfunc.prefix="".info=""].mo
4aa00 64 65 3d 74 72 69 67 67 65 72 3a 20 55 73 65 72 20 4e 6f 74 69 63 65 3a 20 44 42 20 45 72 72 6f de=trigger:.User.Notice:.DB.Erro
4aa20 72 3a 20 74 72 69 67 67 65 72 20 74 65 73 74 69 6e 67 20 65 72 72 6f 72 20 69 6e 20 50 45 41 52 r:.trigger.testing.error.in.PEAR
4aa40 2e 70 68 70 20 6f 6e 20 6c 69 6e 65 20 58 58 58 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .php.on.line.XXX................
4aa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ab00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ab20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ac00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 70 DB-1.3/tests/oci8/06prepexec.php
4ac20 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
4ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ac60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4ac80 20 20 20 20 34 36 31 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 35 33 36 20 00 00 00 00 00 ....461..7467414726..11536......
4aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ad00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ad20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ae00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 --TEST--.DB_oci8::prepare/execut
4ae20 65 20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 e.test.--SKIPIF--.<?php.include(
4ae40 22 73 6b 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 "skipif.inc");.?>.--FILE--.<?php
4ae60 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 .include("mktable.inc");.include
4ae80 28 22 2e 2e 2f 70 72 65 70 65 78 65 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d ("../prepexe.inc");.?>.--EXPECT-
4aea0 2d 0a 73 74 68 31 2c 73 74 68 32 2c 73 74 68 33 20 63 72 65 61 74 65 64 0a 73 74 68 31 20 65 78 -.sth1,sth2,sth3.created.sth1.ex
4aec0 65 63 75 74 65 64 0a 73 74 68 32 20 65 78 65 63 75 74 65 64 0a 73 74 68 33 20 65 78 65 63 75 74 ecuted.sth2.executed.sth3.execut
4aee0 65 64 0a 72 65 73 75 6c 74 73 3a 0a 37 32 20 2d 20 20 2d 20 20 2d 20 0a 37 32 20 2d 20 62 69 6e ed.results:.72.-..-..-..72.-.bin
4af00 67 20 2d 20 20 2d 20 0a 37 32 20 2d 20 67 61 7a 6f 6e 6b 20 2d 20 6f 70 61 71 75 65 0a 70 6c 61 g.-..-..72.-.gazonk.-.opaque.pla
4af20 63 65 68 6f 6c 64 65 72 0a 74 65 73 74 20 2d 20 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ceholder.test.-.................
4af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b000 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 38 61 66 66 65 63 74 65 64 72 6f 77 73 DB-1.3/tests/oci8/08affectedrows
4b020 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .phpt...........................
4b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4b080 20 20 20 31 34 30 33 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 32 34 31 36 20 00 00 00 00 00 ...1403..7467414726..12416......
4b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b200 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 61 66 66 65 63 74 65 64 52 6f 77 73 20 74 --TEST--.DB_oci8::affectedRows.t
4b220 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b est.--SKIPIF--.<?php.include("sk
4b240 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e ipif.inc");.?>.--FILE--.<?php.in
4b260 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 clude("mktable.inc");.$dbh->quer
4b280 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c y("INSERT.INTO.phptest.(a,b).VAL
4b2a0 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 UES(1,.'test')");.$dbh->query("I
4b2c0 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 NSERT.INTO.phptest.(a,b).VALUES(
4b2e0 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 69 2,.'test')");.printf("%d.after.i
4b300 6e 73 65 72 74 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b nsert\n",.$dbh->affectedRows());
4b320 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 70 68 70 74 .$dbh->query("SELECT.*.FROM.phpt
4b340 65 73 74 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 73 65 6c 65 63 74 5c 6e est");.printf("%d.after.select\n
4b360 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 24 64 62 68 2d 3e ",.$dbh->affectedRows());.$dbh->
4b380 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 74 20 57 48 45 52 45 query("DELETE.FROM.phptest.WHERE
4b3a0 20 62 20 3d 20 27 74 65 73 74 27 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 .b.=.'test'");.printf("%d.after.
4b3c0 64 65 6c 65 74 65 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 delete\n",.$dbh->affectedRows())
4b3e0 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 ;.$dbh->query("INSERT.INTO.phpte
4b400 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 st.(a,b).VALUES(1,.'test')");.$d
4b420 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 28 bh->query("INSERT.INTO.phptest.(
4b440 61 2c 62 29 20 56 41 4c 55 45 53 28 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 62 68 2d 3e a,b).VALUES(2,.'test')");.$dbh->
4b460 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 74 22 29 3b 0a 70 72 query("DELETE.FROM.phptest");.pr
4b480 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 6c 5c 6e 22 2c 20 24 64 intf("%d.after.delete.all\n",.$d
4b4a0 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 bh->affectedRows());.?>.--EXPECT
4b4c0 2d 2d 0a 31 20 61 66 74 65 72 20 69 6e 73 65 72 74 0a 30 20 61 66 74 65 72 20 73 65 6c 65 63 74 --.1.after.insert.0.after.select
4b4e0 0a 32 20 61 66 74 65 72 20 64 65 6c 65 74 65 0a 33 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 .2.after.delete.3.after.delete.a
4b500 6c 6c 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ll..............................
4b520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b600 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 68 70 74 DB-1.3/tests/oci8/09numrows.phpt
4b620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4b680 20 20 20 31 32 33 32 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 34 35 35 20 00 00 00 00 00 ...1232..7467414726..11455......
4b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b800 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 6e 75 6d 52 6f 77 73 20 74 65 73 74 0a 2d --TEST--.DB_oci8::numRows.test.-
4b820 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e -SKIPIF--.<?php.require."skipif.
4b840 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 inc";.?>.--FILE--.<?php.require.
4b860 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 2e "connect.inc";.require."mktable.
4b880 69 6e 63 22 3b 0a 24 64 62 68 2d 3e 61 75 74 6f 43 6f 6d 6d 69 74 28 66 61 6c 73 65 29 3b 0a 24 inc";.$dbh->autoCommit(false);.$
4b8a0 64 62 68 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 22 6f 70 74 69 6d 69 7a 65 22 2c 20 22 70 6f 72 74 dbh->setOption("optimize",."port
4b8c0 61 62 69 6c 69 74 79 22 29 3b 0a 24 74 65 73 74 5f 65 72 72 6f 72 5f 6d 6f 64 65 20 3d 20 50 45 ability");.$test_error_mode.=.PE
4b8e0 41 52 5f 45 52 52 4f 52 5f 50 52 49 4e 54 3b 0a 69 6e 63 6c 75 64 65 20 22 2e 2e 2f 6e 75 6d 72 AR_ERROR_PRINT;.include."../numr
4b900 6f 77 73 2e 69 6e 63 22 3b 0a 24 64 62 68 2d 3e 72 6f 6c 6c 62 61 63 6b 28 29 3b 0a 24 64 62 68 ows.inc";.$dbh->rollback();.$dbh
4b920 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 22 6f 70 74 69 6d 69 7a 65 22 2c 20 22 70 65 72 66 6f 72 6d ->setOption("optimize",."perform
4b940 61 6e 63 65 22 29 3b 0a 69 6e 63 6c 75 64 65 20 22 2e 2e 2f 6e 75 6d 72 6f 77 73 2e 69 6e 63 22 ance");.include."../numrows.inc"
4b960 3b 0a 24 64 62 68 2d 3e 72 6f 6c 6c 62 61 63 6b 28 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d ;.$dbh->rollback();.?>.--EXPECT-
4b980 2d 0a 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 32 0a 30 0a 44 42 20 45 72 72 6f 72 3a 20 44 42 20 62 -.1.2.3.4.5.6.2.0.DB.Error:.DB.b
4b9a0 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 44 42 20 45 72 72 6f 72 3a 20 44 42 20 ackend.not.capable.DB.Error:.DB.
4b9c0 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 44 42 20 45 72 72 6f 72 3a 20 44 42 backend.not.capable.DB.Error:.DB
4b9e0 20 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 44 42 20 45 72 72 6f 72 3a 20 44 .backend.not.capable.DB.Error:.D
4ba00 42 20 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 44 42 20 45 72 72 6f 72 3a 20 B.backend.not.capable.DB.Error:.
4ba20 44 42 20 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 44 42 20 45 72 72 6f 72 3a DB.backend.not.capable.DB.Error:
4ba40 20 44 42 20 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 44 42 20 45 72 72 6f 72 .DB.backend.not.capable.DB.Error
4ba60 3a 20 44 42 20 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 44 42 20 45 72 72 6f :.DB.backend.not.capable.DB.Erro
4ba80 72 3a 20 44 42 20 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 0a 00 00 00 00 00 00 r:.DB.backend.not.capable.......
4baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bc00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 31 33 6c 69 6d 69 74 2e 70 68 70 74 00 00 DB-1.3/tests/oci8/13limit.phpt..
4bc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bc60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4bc80 20 20 20 31 35 31 35 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 30 36 30 20 00 00 00 00 00 ...1515..7467414726..11060......
4bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4be00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 72 6f 77 20 6c 69 6d 69 74 0a 2d 2d 53 4b --TEST--.DB_oci8::row.limit.--SK
4be20 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 IPIF--.<?php.require."skipif.inc
4be40 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 27 63 6f ";.?>.--FILE--.<?php.require.'co
4be60 6e 6e 65 63 74 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 27 2e 2e 2f 6c 69 6d 69 74 2e 69 6e nnect.inc';.include.'../limit.in
4be80 63 27 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 c';.?>.--EXPECT--.=======.From:.
4bea0 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 0.||.Number.of.rows.to.fetch:.10
4bec0 20 3d 3d 3d 3d 3d 3d 3d 0a 31 2e 2d 20 72 65 73 75 6c 74 20 30 0a 32 2e 2d 20 72 65 73 75 6c 74 .=======.1.-.result.0.2.-.result
4bee0 20 31 0a 33 2e 2d 20 72 65 73 75 6c 74 20 32 0a 34 2e 2d 20 72 65 73 75 6c 74 20 33 0a 35 2e 2d .1.3.-.result.2.4.-.result.3.5.-
4bf00 20 72 65 73 75 6c 74 20 34 0a 36 2e 2d 20 72 65 73 75 6c 74 20 35 0a 37 2e 2d 20 72 65 73 75 6c .result.4.6.-.result.5.7.-.resul
4bf20 74 20 36 0a 38 2e 2d 20 72 65 73 75 6c 74 20 37 0a 39 2e 2d 20 72 65 73 75 6c 74 20 38 0a 31 30 t.6.8.-.result.7.9.-.result.8.10
4bf40 2e 2d 20 72 65 73 75 6c 74 20 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 31 30 20 7c 7c 20 .-.result.9.=======.From:.10.||.
4bf60 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d Number.of.rows.to.fetch:.10.====
4bf80 3d 3d 3d 0a 31 31 2e 2d 20 72 65 73 75 6c 74 20 31 30 0a 31 32 2e 2d 20 72 65 73 75 6c 74 20 31 ===.11.-.result.10.12.-.result.1
4bfa0 31 0a 31 33 2e 2d 20 72 65 73 75 6c 74 20 31 32 0a 31 34 2e 2d 20 72 65 73 75 6c 74 20 31 33 0a 1.13.-.result.12.14.-.result.13.
4bfc0 31 35 2e 2d 20 72 65 73 75 6c 74 20 31 34 0a 31 36 2e 2d 20 72 65 73 75 6c 74 20 31 35 0a 31 37 15.-.result.14.16.-.result.15.17
4bfe0 2e 2d 20 72 65 73 75 6c 74 20 31 36 0a 31 38 2e 2d 20 72 65 73 75 6c 74 20 31 37 0a 31 39 2e 2d .-.result.16.18.-.result.17.19.-
4c000 20 72 65 73 75 6c 74 20 31 38 0a 32 30 2e 2d 20 72 65 73 75 6c 74 20 31 39 0a 3d 3d 3d 3d 3d 3d .result.18.20.-.result.19.======
4c020 3d 20 46 72 6f 6d 3a 20 32 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 =.From:.20.||.Number.of.rows.to.
4c040 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a 32 31 2e 2d 20 72 65 73 75 6c 74 20 32 30 fetch:.10.=======.21.-.result.20
4c060 0a 32 32 2e 2d 20 72 65 73 75 6c 74 20 32 31 0a 32 33 2e 2d 20 72 65 73 75 6c 74 20 32 32 0a 32 .22.-.result.21.23.-.result.22.2
4c080 34 2e 2d 20 72 65 73 75 6c 74 20 32 33 0a 32 35 2e 2d 20 72 65 73 75 6c 74 20 32 34 0a 32 36 2e 4.-.result.23.25.-.result.24.26.
4c0a0 2d 20 72 65 73 75 6c 74 20 32 35 0a 32 37 2e 2d 20 72 65 73 75 6c 74 20 32 36 0a 32 38 2e 2d 20 -.result.25.27.-.result.26.28.-.
4c0c0 72 65 73 75 6c 74 20 32 37 0a 32 39 2e 2d 20 72 65 73 75 6c 74 20 32 38 0a 33 30 2e 2d 20 72 65 result.27.29.-.result.28.30.-.re
4c0e0 73 75 6c 74 20 32 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 33 30 20 7c 7c 20 4e 75 6d 62 sult.29.=======.From:.30.||.Numb
4c100 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a er.of.rows.to.fetch:.10.=======.
4c120 33 31 2e 2d 20 72 65 73 75 6c 74 20 33 30 0a 33 32 2e 2d 20 72 65 73 75 6c 74 20 33 31 0a 33 33 31.-.result.30.32.-.result.31.33
4c140 2e 2d 20 72 65 73 75 6c 74 20 33 32 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .-.result.32....................
4c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 68 DB-1.3/tests/oci8/05sequences.ph
4c220 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
4c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4c280 20 20 20 20 34 31 31 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 37 31 30 20 00 00 00 00 00 ....411..7467414726..11710......
4c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 73 65 71 75 65 6e 63 65 73 0a 2d 2d 53 4b --TEST--.DB_oci8::sequences.--SK
4c420 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 IPIF--.<?php.require."skipif.inc
4c440 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 22 63 6f ";.?>.--FILE--.<?php.require."co
4c460 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 64 69 72 6e 61 6d 65 28 5f 5f 46 49 nnect.inc";.require.dirname(__FI
4c480 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 73 65 71 75 65 6e 63 65 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d LE__)."/../sequences.inc";.?>.--
4c4a0 45 58 50 45 43 54 2d 2d 0a 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 EXPECT--.DB.Error:.no.such.table
4c4c0 0a 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 20 3c 2d 20 67 6f 6f 64 .DB.Error:.no.such.table.<-.good
4c4e0 20 65 72 72 6f 72 20 63 61 74 63 68 65 64 0a 61 3d 31 0a 62 3d 32 0a 62 2d 61 3d 31 0a 63 3d 31 .error.catched.a=1.b=2.b-a=1.c=1
4c500 0a 64 3d 31 0a 65 3d 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .d=1.e=1........................
4c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c600 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 37 65 72 72 6f 72 6e 61 74 69 76 65 2e DB-1.3/tests/oci8/07errornative.
4c620 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 phpt............................
4c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4c680 20 20 20 20 33 36 36 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 32 32 37 30 20 00 00 00 00 00 ....366..7467414726..12270......
4c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c800 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 65 72 72 6f 72 4e 61 74 69 76 65 20 74 65 --TEST--.DB_oci8::errorNative.te
4c820 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 2f 2a 69 6e 63 6c 75 64 65 28 22 73 st.--SKIPIF--.<?php./*include("s
4c840 6b 69 70 69 66 2e 69 6e 63 22 29 3b 2a 2f 20 70 72 69 6e 74 20 22 73 6b 69 70 5c 6e 22 3b 20 3f kipif.inc");*/.print."skip\n";.?
4c860 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c >.--FILE--.<?php.include("mktabl
4c880 65 2e 69 6e 63 22 29 3b 0a 24 65 72 72 20 3d 20 24 64 62 68 2d 3e 71 75 65 72 79 28 22 53 45 4c e.inc");.$err.=.$dbh->query("SEL
4c8a0 45 43 54 20 66 6f 6f 20 46 52 4f 4d 20 74 61 62 6c 65 74 68 61 74 64 6f 65 73 6e 6f 74 65 78 69 ECT.foo.FROM.tablethatdoesnotexi
4c8c0 73 74 22 29 3b 0a 70 72 69 6e 74 20 24 64 62 68 2d 3e 65 72 72 6f 72 4e 61 74 69 76 65 28 29 20 st");.print.$dbh->errorNative().
4c8e0 2e 20 22 5c 6e 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 00 00 00 00 00 00 00 00 00 00 .."\n";.?>.--EXPECT--...........
4c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ca00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 74 DB-1.3/tests/oci8/01connect.phpt
4ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ca60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4ca80 20 20 20 20 34 34 35 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 33 35 31 20 00 00 00 00 00 ....445..7467414726..11351......
4caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cc00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 63 6f 6e 6e 65 63 74 20 74 65 73 74 0a 2d --TEST--.DB_oci8::connect.test.-
4cc20 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e -SKIPIF--.<?php.require."skipif.
4cc40 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 inc";.?>.--FILE--.<?php.require.
4cc60 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 62 "connect.inc";.if.(is_object($db
4cc80 68 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 69 73 20 61 6e 20 6f 62 6a h)).{.....print."\$dbh.is.an.obj
4cca0 65 63 74 5c 6e 22 3b 0a 7d 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 64 62 68 2d 3e ect\n";.}.if.(is_resource($dbh->
4ccc0 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 connection)).{.....print."\$dbh.
4cce0 69 73 20 63 6f 6e 6e 65 63 74 65 64 5c 6e 22 3b 0a 7d 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d is.connected\n";.}.?>.--EXPECT--
4cd00 0a 24 64 62 68 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 0a 24 64 62 68 20 69 73 20 63 6f 6e 6e 65 .$dbh.is.an.object.$dbh.is.conne
4cd20 63 74 65 64 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cted............................
4cd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ce00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 68 70 DB-1.3/tests/oci8/10errormap.php
4ce20 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
4ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ce60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4ce80 20 20 20 31 32 37 35 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 35 37 31 20 00 00 00 00 00 ...1275..7467414726..11571......
4cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 65 72 72 6f 72 20 6d 61 70 70 69 6e 67 0a --TEST--.DB_oci8::error.mapping.
4d020 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
4d040 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
4d060 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 ."connect.inc";.require."mktable
4d080 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 65 72 72 6f 72 73 2e 69 6e 63 22 3b 0a .inc";.require."../errors.inc";.
4d0a0 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 ?>.--EXPECT--.Trying.to.provoke.
4d0c0 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f 72 3a DB_ERROR_NOSUCHTABLE...DB.Error:
4d0e0 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 .no.such.table.Trying.to.provoke
4d100 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 0a 20 20 44 42 20 45 72 .DB_ERROR_ALREADY_EXISTS...DB.Er
4d120 72 6f 72 3a 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 ror:.already.exists.Trying.to.pr
4d140 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 ovoke.DB_ERROR_NOSUCHTABLE...DB.
4d160 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 Error:.no.such.table.Trying.to.p
4d180 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 0a 20 20 44 42 20 rovoke.DB_ERROR_CONSTRAINT...DB.
4d1a0 45 72 72 6f 72 3a 20 63 6f 6e 73 74 72 61 69 6e 74 20 76 69 6f 6c 61 74 69 6f 6e 0a 54 72 79 69 Error:.constraint.violation.Tryi
4d1c0 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 0a 20 ng.to.provoke.DB_ERROR_DIVZERO..
4d1e0 20 44 42 20 45 72 72 6f 72 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 54 72 79 69 .DB.Error:.division.by.zero.Tryi
4d200 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e ng.to.provoke.DB_ERROR_INVALID_N
4d220 55 4d 42 45 52 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 69 6e 76 61 6c 69 64 20 6e 75 6d 62 65 72 UMBER...DB.Error:.invalid.number
4d240 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 .Trying.to.provoke.DB_ERROR_NOSU
4d260 43 48 46 49 45 4c 44 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 66 69 65 6c CHFIELD...DB.Error:.no.such.fiel
4d280 64 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e d.Trying.to.provoke.DB_ERROR_SYN
4d2a0 54 41 58 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 72 72 6f 72 0a 00 00 00 TAX...DB.Error:.syntax.error....
4d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d400 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 74 DB-1.3/tests/oci8/04numcols.phpt
4d420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4d480 20 20 20 20 32 34 32 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 33 37 36 20 00 00 00 00 00 ....242..7467414726..11376......
4d4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d600 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 6e 75 6d 43 6f 6c 73 20 74 65 73 74 0a 2d --TEST--.DB_oci8::numCols.test.-
4d620 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e -SKIPIF--.<?php.include("skipif.
4d640 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 inc");.?>.--FILE--.<?php.include
4d660 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 6e 75 6d ("mktable.inc");.include("../num
4d680 63 6f 6c 73 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 0a cols.inc");.?>.--EXPECT--.1.2.3.
4d6a0 34 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4...............................
4d6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 2e DB-1.3/tests/oci8/03simplequery.
4d820 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 phpt............................
4d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4d880 20 20 20 20 32 35 33 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 32 32 37 36 20 00 00 00 00 00 ....253..7467414726..12276......
4d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4da00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 73 69 6d 70 6c 65 51 75 65 72 79 20 74 65 --TEST--.DB_oci8::simpleQuery.te
4da20 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 st.--SKIPIF--.<?php.include("ski
4da40 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 pif.inc");.?>.--FILE--.<?php.inc
4da60 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e lude("mktable.inc");.include("..
4da80 2f 73 69 6d 70 6c 65 71 75 65 72 79 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d /simplequery.inc");.?>.--EXPECT-
4daa0 2d 0a 72 65 73 6f 75 72 63 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.resource......................
4dac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4db00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4db20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4db40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4db60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4db80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dc00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 32 66 65 74 63 68 2e 70 68 70 74 00 00 DB-1.3/tests/oci8/02fetch.phpt..
4dc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dc60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4dc80 20 20 20 31 37 31 31 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 30 32 37 20 00 00 00 00 00 ...1711..7467414726..11027......
4dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4de00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 63 69 38 3a 3a 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 --TEST--.DB_oci8::fetch.test.--S
4de20 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 6e KIPIF--.<?php.include("skipif.in
4de40 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 28 22 c");.?>.--FILE--.<?php.include("
4de60 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 68 mktable.inc");.include("../fetch
4de80 72 6f 77 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 68 6d 6f 64 65 row.inc");.include("../fetchmode
4dea0 73 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 66 s.inc");.?>.--EXPECT--.testing.f
4dec0 65 74 63 68 72 6f 77 3a 0a 72 6f 77 20 31 3a 20 34 32 2c 20 62 69 6e 67 2c 20 54 68 69 73 20 69 etchrow:.row.1:.42,.bing,.This.i
4dee0 73 20 61 20 74 65 73 74 2c 20 31 39 39 39 2d 31 31 2d 32 31 0a 72 6f 77 20 32 3a 20 31 2c 20 6f s.a.test,.1999-11-21.row.2:.1,.o
4df00 6e 65 2c 20 4f 6e 65 2c 20 32 30 30 31 2d 30 32 2d 31 36 0a 72 6f 77 20 33 3a 20 32 2c 20 74 77 ne,.One,.2001-02-16.row.3:.2,.tw
4df20 6f 2c 20 54 77 6f 2c 20 32 30 30 31 2d 30 32 2d 31 35 0a 72 6f 77 20 34 3a 20 33 2c 20 74 68 72 o,.Two,.2001-02-15.row.4:.3,.thr
4df40 65 65 2c 20 54 68 72 65 65 2c 20 32 30 30 31 2d 30 32 2d 31 34 0a 72 6f 77 20 35 3a 20 4e 55 4c ee,.Three,.2001-02-14.row.5:.NUL
4df60 4c 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 64 L.testing.fetchmodes:.fetchrow.d
4df80 65 66 61 75 6c 74 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 efault.default.0.1.2.3.testing.f
4dfa0 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 64 65 66 61 75 6c 74 20 64 65 66 etchmodes:.fetchinto.default.def
4dfc0 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a ault.0.1.2.3.testing.fetchmodes:
4dfe0 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 .fetchrow.ordered.default.0.1.2.
4e000 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 3.testing.fetchmodes:.fetchrow.a
4e020 73 73 6f 63 20 64 65 66 61 75 6c 74 0a 41 20 42 20 43 20 44 0a 74 65 73 74 69 6e 67 20 66 65 74 ssoc.default.A.B.C.D.testing.fet
4e040 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c chmodes:.fetchrow.ordered.defaul
4e060 74 20 77 69 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 41 20 42 20 43 20 44 0a 74 t.with.assoc.specified.A.B.C.D.t
4e080 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 6f esting.fetchmodes:.fetchrow.asso
4e0a0 63 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 c.default.with.ordered.specified
4e0c0 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 .0.1.2.3.testing.fetchmodes:.fet
4e0e0 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 chinto.ordered.default.0.1.2.3.t
4e100 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 esting.fetchmodes:.fetchinto.ass
4e120 6f 63 20 64 65 66 61 75 6c 74 0a 41 20 42 20 43 20 44 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 oc.default.A.B.C.D.testing.fetch
4e140 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 modes:.fetchinto.ordered.default
4e160 20 77 69 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 41 20 42 20 43 20 44 0a 74 65 .with.assoc.specified.A.B.C.D.te
4e180 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 6f sting.fetchmodes:.fetchinto.asso
4e1a0 63 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 c.default.with.ordered.specified
4e1c0 0a 30 20 31 20 32 20 33 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .0.1.2.3........................
4e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 70 DB-1.3/tests/odbc/06prepexec.php
4e220 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
4e240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4e280 20 20 20 20 35 31 30 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 35 37 36 20 00 00 00 00 00 ....510..7467414726..11576......
4e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 64 62 63 3a 3a 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 --TEST--.DB_odbc::prepare/execut
4e420 65 20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 e.test.--SKIPIF--.<?php.include(
4e440 22 73 6b 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 "skipif.inc");.?>.--FILE--.<?php
4e460 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 .require_once."DB.php";.include(
4e480 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 70 72 65 70 "mktable.inc");.include("../prep
4e4a0 65 78 65 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 73 74 68 31 2c 73 74 exe.inc");.?>.--EXPECT--.sth1,st
4e4c0 68 32 2c 73 74 68 33 20 63 72 65 61 74 65 64 0a 73 74 68 31 20 65 78 65 63 75 74 65 64 0a 73 74 h2,sth3.created.sth1.executed.st
4e4e0 68 32 20 65 78 65 63 75 74 65 64 0a 73 74 68 33 20 65 78 65 63 75 74 65 64 0a 72 65 73 75 6c 74 h2.executed.sth3.executed.result
4e500 73 3a 0a 37 32 20 2d 20 20 2d 20 20 2d 20 0a 37 32 20 2d 20 62 69 6e 67 20 2d 20 20 2d 20 0a 37 s:.72.-..-..-..72.-.bing.-..-..7
4e520 32 20 2d 20 67 61 7a 6f 6e 6b 20 2d 20 6f 70 61 71 75 65 0a 70 6c 61 63 65 68 6f 6c 64 65 72 0a 2.-.gazonk.-.opaque.placeholder.
4e540 74 65 73 74 20 2d 20 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 test.-..........................
4e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e600 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 68 70 74 DB-1.3/tests/odbc/09numrows.phpt
4e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4e680 20 20 20 20 33 32 36 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 35 30 35 20 00 00 00 00 00 ....326..7467414726..11505......
4e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e800 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 64 62 63 3a 3a 6e 75 6d 52 6f 77 73 20 74 65 73 74 0a 2d --TEST--.DB_odbc::numRows.test.-
4e820 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e -SKIPIF--.<?php.require."skipif.
4e840 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 inc";.?>.--FILE--.<?php.require.
4e860 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 2e "connect.inc";.require."mktable.
4e880 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 6e 75 6d 72 6f 77 73 2e 69 6e 63 22 3b 0a inc";.require."../numrows.inc";.
4e8a0 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 32 0a 30 0a 44 42 ?>.--EXPECT--.1.2.3.4.5.6.2.0.DB
4e8c0 20 45 72 72 6f 72 3a 20 75 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 0a 00 00 00 00 00 00 00 00 00 00 .Error:.unknown.error...........
4e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ea00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 37 65 72 72 6f 72 6e 61 74 69 76 65 2e DB-1.3/tests/odbc/07errornative.
4ea20 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 phpt............................
4ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ea60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4ea80 20 20 20 20 34 30 30 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 32 33 32 32 20 00 00 00 00 00 ....400..7467414726..12322......
4eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ec00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 64 62 63 3a 3a 65 72 72 6f 72 4e 61 74 69 76 65 20 74 65 --TEST--.DB_odbc::errorNative.te
4ec20 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 st.--SKIPIF--.<?php.include("ski
4ec40 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 pif.inc");.?>.--FILE--.<?php.req
4ec60 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 uire_once."DB.php";.include("mkt
4ec80 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 73 79 6e 74 61 78 20 able.inc");.$dbh->query("syntax.
4eca0 65 72 72 6f 72 20 70 6c 65 61 73 65 22 29 3b 0a 70 72 69 6e 74 20 22 65 72 72 6f 72 20 63 6f 64 error.please");.print."error.cod
4ecc0 65 20 22 20 2e 20 24 64 62 68 2d 3e 65 72 72 6f 72 4e 61 74 69 76 65 28 29 20 2e 20 22 5c 6e 22 e."...$dbh->errorNative()..."\n"
4ece0 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 65 72 72 6f 72 20 63 6f 64 65 20 31 30 36 34 0a ;.?>.--EXPECT--.error.code.1064.
4ed00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ed20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ee00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 74 DB-1.3/tests/odbc/01connect.phpt
4ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ee60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4ee80 20 20 20 20 34 37 30 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 34 31 34 20 00 00 00 00 00 ....470..7467414726..11414......
4eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ef00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ef20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ef40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f000 2d 2d 54 45 53 54 2d 2d 0a 4f 44 42 43 20 44 42 3a 3a 63 6f 6e 6e 65 63 74 0a 2d 2d 53 4b 49 50 --TEST--.ODBC.DB::connect.--SKIP
4f020 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 6e 63 22 29 IF--.<?php.include("skipif.inc")
4f040 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 ;.?>.--FILE--.<?php.require_once
4f060 20 22 44 42 2e 70 68 70 22 3b 0a 72 65 71 75 69 72 65 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 ."DB.php";.require."connect.inc"
4f080 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 62 68 29 29 20 7b 0a 20 20 20 20 70 72 69 ;.if.(is_object($dbh)).{.....pri
4f0a0 6e 74 20 22 5c 24 64 62 68 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 5c 6e 22 3b 0a 7d 0a 69 66 20 nt."\$dbh.is.an.object\n";.}.if.
4f0c0 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 64 62 68 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 (is_resource($dbh->connection)).
4f0e0 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 5c {.....print."\$dbh.is.connected\
4f100 6e 22 3b 0a 7d 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 24 64 62 68 20 69 73 20 61 6e 20 6f n";.}.?>.--EXPECT--.$dbh.is.an.o
4f120 62 6a 65 63 74 0a 24 64 62 68 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 0a 00 00 00 00 00 00 00 00 bject.$dbh.is.connected.........
4f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 68 70 DB-1.3/tests/odbc/10errormap.php
4f220 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
4f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4f280 20 20 20 31 31 34 34 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 36 33 31 20 00 00 00 00 00 ...1144..7467414726..11631......
4f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 20 65 72 72 6f 72 20 6d 61 70 70 69 6e 67 0a --TEST--.DB_mysql.error.mapping.
4f420 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
4f440 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
4f460 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 ."connect.inc";.require."mktable
4f480 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 65 72 72 6f 72 73 2e 69 6e 63 22 3b 0a .inc";.require."../errors.inc";.
4f4a0 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 ?>.--EXPECT--.Trying.to.provoke.
4f4c0 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f 72 3a DB_ERROR_NOSUCHTABLE...DB.Error:
4f4e0 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 .no.such.table.Trying.to.provoke
4f500 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 0a 20 20 44 42 20 45 72 .DB_ERROR_ALREADY_EXISTS...DB.Er
4f520 72 6f 72 3a 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 ror:.already.exists.Trying.to.pr
4f540 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 ovoke.DB_ERROR_NOSUCHTABLE...DB.
4f560 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 Error:.no.such.table.Trying.to.p
4f580 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 0a 54 72 79 69 6e rovoke.DB_ERROR_CONSTRAINT.Tryin
4f5a0 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 0a 54 72 g.to.provoke.DB_ERROR_DIVZERO.Tr
4f5c0 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 ying.to.provoke.DB_ERROR_INVALID
4f5e0 5f 4e 55 4d 42 45 52 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 _NUMBER.Trying.to.provoke.DB_ERR
4f600 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 OR_NOSUCHFIELD...DB.Error:.no.su
4f620 63 68 20 66 69 65 6c 64 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 ch.field.Trying.to.provoke.DB_ER
4f640 52 4f 52 5f 53 59 4e 54 41 58 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 72 ROR_SYNTAX...DB.Error:.syntax.er
4f660 72 6f 72 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ror.............................
4f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 74 DB-1.3/tests/odbc/04numcols.phpt
4f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4f880 20 20 20 20 32 37 31 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 34 34 35 20 00 00 00 00 00 ....271..7467414726..11445......
4f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fa00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 64 62 63 3a 3a 6e 75 6d 43 6f 6c 73 20 74 65 73 74 0a 2d --TEST--.DB_odbc::numCols.test.-
4fa20 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e -SKIPIF--.<?php.include("skipif.
4fa40 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 inc");.?>.--FILE--.<?php.require
4fa60 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 _once."DB.php";.include("mktable
4fa80 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 6e 75 6d 63 6f 6c 73 2e 69 6e 63 22 .inc");.include("../numcols.inc"
4faa0 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 0a 34 0a 00 00 00 00 00 00 00 );.?>.--EXPECT--.1.2.3.4........
4fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fc00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 2e DB-1.3/tests/odbc/03simplequery.
4fc20 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 phpt............................
4fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fc60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
4fc80 20 20 20 20 33 30 32 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 32 33 33 36 20 00 00 00 00 00 ....302..7467414726..12336......
4fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fe00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 64 62 63 3a 3a 73 69 6d 70 6c 65 51 75 65 72 79 20 74 65 --TEST--.DB_odbc::simpleQuery.te
4fe20 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 st.--SKIPIF--.<?php.include("ski
4fe40 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 pif.inc");.?>.--FILE--.<?php.req
4fe60 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 uire_once."DB.php";.include("mkt
4fe80 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 73 69 6d 70 6c 65 71 75 able.inc");.include("../simplequ
4fea0 65 72 79 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 72 65 73 6f 75 72 63 ery.inc");.?>.--EXPECT--.resourc
4fec0 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e...............................
4fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50000 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 32 66 65 74 63 68 2e 70 68 70 74 00 00 DB-1.3/tests/odbc/02fetch.phpt..
50020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
50080 20 20 20 31 37 33 37 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 31 30 34 20 00 00 00 00 00 ...1737..7467414726..11104......
500a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
500c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
500e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
501a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
501c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
501e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50200 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6f 64 62 63 20 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 4b --TEST--.DB_odbc.fetch.test.--SK
50220 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 6e 63 IPIF--.<?php.include("skipif.inc
50240 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 5f 6f 6e ");.?>.--FILE--.<?php.require_on
50260 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e ce."DB.php";.include("mktable.in
50280 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 68 72 6f 77 2e 69 6e 63 22 29 3b c");.include("../fetchrow.inc");
502a0 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 68 6d 6f 64 65 73 2e 69 6e 63 22 29 3b 0a 3f .include("../fetchmodes.inc");.?
502c0 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 72 6f 77 3a 0a 72 >.--EXPECT--.testing.fetchrow:.r
502e0 6f 77 20 31 3a 20 34 32 2c 20 62 69 6e 67 2c 20 54 68 69 73 20 69 73 20 61 20 74 65 73 74 2c 20 ow.1:.42,.bing,.This.is.a.test,.
50300 31 39 39 39 2d 31 31 2d 32 31 0a 72 6f 77 20 32 3a 20 31 2c 20 6f 6e 65 2c 20 4f 6e 65 2c 20 32 1999-11-21.row.2:.1,.one,.One,.2
50320 30 30 31 2d 30 32 2d 31 36 0a 72 6f 77 20 33 3a 20 32 2c 20 74 77 6f 2c 20 54 77 6f 2c 20 32 30 001-02-16.row.3:.2,.two,.Two,.20
50340 30 31 2d 30 32 2d 31 35 0a 72 6f 77 20 34 3a 20 33 2c 20 74 68 72 65 65 2c 20 54 68 72 65 65 2c 01-02-15.row.4:.3,.three,.Three,
50360 20 32 30 30 31 2d 30 32 2d 31 34 0a 72 6f 77 20 35 3a 20 4e 55 4c 4c 0a 74 65 73 74 69 6e 67 20 .2001-02-14.row.5:.NULL.testing.
50380 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 64 65 66 61 75 6c 74 20 64 65 66 fetchmodes:.fetchrow.default.def
503a0 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a ault.0.1.2.3.testing.fetchmodes:
503c0 20 66 65 74 63 68 69 6e 74 6f 20 64 65 66 61 75 6c 74 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 .fetchinto.default.default.0.1.2
503e0 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 .3.testing.fetchmodes:.fetchrow.
50400 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 ordered.default.0.1.2.3.testing.
50420 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 6f 63 20 64 65 66 61 75 fetchmodes:.fetchrow.assoc.defau
50440 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 lt.a.b.c.d.testing.fetchmodes:.f
50460 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 61 73 73 etchrow.ordered.default.with.ass
50480 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 oc.specified.a.b.c.d.testing.fet
504a0 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 6f 63 20 64 65 66 61 75 6c 74 20 chmodes:.fetchrow.assoc.default.
504c0 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 0a 30 20 31 20 32 20 33 0a 74 with.ordered.specified.0.1.2.3.t
504e0 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 6f 72 64 esting.fetchmodes:.fetchinto.ord
50500 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 ered.default.0.1.2.3.testing.fet
50520 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 6f 63 20 64 65 66 61 75 6c 74 chmodes:.fetchinto.assoc.default
50540 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 .a.b.c.d.testing.fetchmodes:.fet
50560 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 61 73 73 6f chinto.ordered.default.with.asso
50580 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 c.specified.a.b.c.d.testing.fetc
505a0 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 6f 63 20 64 65 66 61 75 6c 74 20 hmodes:.fetchinto.assoc.default.
505c0 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 0a 30 20 31 20 32 20 33 0a 00 with.ordered.specified.0.1.2.3..
505e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50600 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 DB-1.3/tests/ibase/06prepexec.ph
50620 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
50640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
50680 20 20 20 20 35 33 34 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 31 37 35 37 20 00 00 00 00 00 ....534..7467414725..11757......
506a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
506c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
506e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
507a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
507c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
507e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50800 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 69 62 61 73 65 3a 3a 70 72 65 70 61 72 65 2f 65 78 65 63 75 --TEST--.DB_ibase::prepare/execu
50820 74 65 20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 te.test.--SKIPIF--.<?php.include
50840 28 22 73 6b 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 ("skipif.inc");.?>.--FILE--.<?ph
50860 70 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 p.require_once."DB.php";.include
50880 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 6d 65 ("mktable.inc");.include(dirname
508a0 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 70 72 65 70 65 78 65 2e 69 6e 63 22 29 3b 0a 3f (__FILE__)."/../prepexe.inc");.?
508c0 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 73 74 68 31 2c 73 74 68 32 2c 73 74 68 33 20 63 72 65 61 >.--EXPECT--.sth1,sth2,sth3.crea
508e0 74 65 64 0a 73 74 68 31 20 65 78 65 63 75 74 65 64 0a 73 74 68 32 20 65 78 65 63 75 74 65 64 0a ted.sth1.executed.sth2.executed.
50900 73 74 68 33 20 65 78 65 63 75 74 65 64 0a 72 65 73 75 6c 74 73 3a 0a 37 32 20 2d 20 20 2d 20 20 sth3.executed.results:.72.-..-..
50920 2d 20 0a 37 32 20 2d 20 62 69 6e 67 20 2d 20 20 2d 20 0a 37 32 20 2d 20 67 61 7a 6f 6e 6b 20 2d -..72.-.bing.-..-..72.-.gazonk.-
50940 20 6f 70 61 71 75 65 0a 70 6c 61 63 65 68 6f 6c 64 65 72 0a 74 65 73 74 20 2d 20 0a 00 00 00 00 .opaque.placeholder.test.-......
50960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
509a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
509c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
509e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50a00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 DB-1.3/tests/ibase/05sequences.p
50a20 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hpt.............................
50a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
50a80 20 20 20 20 35 36 32 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 32 31 33 37 20 00 00 00 00 00 ....562..7467414725..12137......
50aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50c00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 73 65 71 75 65 6e 63 65 73 0a 2d 2d --TEST--.DB_driver::sequences.--
50c20 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 SKIPIF--.<?php.require."skipif.i
50c40 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 2f 2a 0a 20 20 20 20 54 65 nc";.?>.--FILE--.<?php./*.....Te
50c60 73 74 20 6f 75 74 70 75 74 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 6e 64 st.output.differs.from.the.stand
50c80 61 72 64 20 44 42 20 73 65 71 75 65 6e 63 65 73 20 74 65 73 74 0a 20 20 20 20 64 75 65 20 74 6f ard.DB.sequences.test.....due.to
50ca0 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 70 68 70 20 69 6e 74 65 72 62 61 73 65 20 64 72 69 76 .a.bug.in.the.php.interbase.driv
50cc0 65 72 2c 20 74 68 61 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 6e 75 6d 62 65 72 73 20 61 73 20 er,.that.returns.....numbers.as.
50ce0 73 74 72 69 6e 67 73 3b 0a 2a 2f 0a 72 65 71 75 69 72 65 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 strings;.*/.require."connect.inc
50d00 22 3b 0a 72 65 71 75 69 72 65 20 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e ";.require.dirname(__FILE__)."/.
50d20 2e 2f 73 65 71 75 65 6e 63 65 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a ./sequences.inc";.?>.--EXPECT--.
50d40 44 42 20 45 72 72 6f 72 3a 20 75 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 0a 61 3d 31 2e 0a 62 3d 32 DB.Error:.unknown.error.a=1..b=2
50d60 2e 0a 62 2d 61 3d 31 0a 63 3d 31 2e 0a 64 3d 31 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..b-a=1.c=1..d=1................
50d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 DB-1.3/tests/ibase/01connect.php
50e20 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
50e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
50e80 20 20 20 20 34 34 36 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 31 35 37 32 20 00 00 00 00 00 ....446..7467414725..11572......
50ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 69 62 61 73 65 3a 3a 63 6f 6e 6e 65 63 74 20 74 65 73 74 0a --TEST--.DB_ibase::connect.test.
51020 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
51040 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
51060 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 ."connect.inc";.if.(is_object($d
51080 62 68 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 69 73 20 61 6e 20 6f 62 bh)).{.....print."\$dbh.is.an.ob
510a0 6a 65 63 74 5c 6e 22 3b 0a 7d 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 64 62 68 2d ject\n";.}.if.(is_resource($dbh-
510c0 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 >connection)).{.....print."\$dbh
510e0 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 5c 6e 22 3b 0a 7d 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d .is.connected\n";.}.?>.--EXPECT-
51100 2d 0a 24 64 62 68 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 0a 24 64 62 68 20 69 73 20 63 6f 6e 6e -.$dbh.is.an.object.$dbh.is.conn
51120 65 63 74 65 64 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ected...........................
51140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
511a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
511c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
511e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 68 DB-1.3/tests/ibase/10errormap.ph
51220 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
51240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
51280 20 20 20 31 32 35 37 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 32 30 31 31 20 00 00 00 00 00 ...1257..7467414725..12011......
512a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
512c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
512e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
513a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
513c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
513e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 69 62 61 73 65 20 65 72 72 6f 72 20 6d 61 70 70 69 6e 67 0a --TEST--.DB_ibase.error.mapping.
51420 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
51440 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
51460 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 ."connect.inc";.require."mktable
51480 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 .inc";.require.dirname(__FILE__)
514a0 2e 22 2f 2e 2e 2f 65 72 72 6f 72 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d ."/../errors.inc";.?>.--EXPECT--
514c0 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 .Trying.to.provoke.DB_ERROR_NOSU
514e0 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c CHTABLE...DB.Error:.no.such.tabl
51500 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 e.Trying.to.provoke.DB_ERROR_ALR
51520 45 41 44 59 5f 45 58 49 53 54 53 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 61 6c 72 65 61 64 79 20 EADY_EXISTS...DB.Error:.already.
51540 65 78 69 73 74 73 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f exists.Trying.to.provoke.DB_ERRO
51560 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 R_NOSUCHTABLE...DB.Error:.no.suc
51580 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 h.table.Trying.to.provoke.DB_ERR
515a0 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 OR_CONSTRAINT.Trying.to.provoke.
515c0 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 64 69 76 DB_ERROR_DIVZERO...DB.Error:.div
515e0 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 ision.by.zero.Trying.to.provoke.
51600 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e 55 4d 42 45 52 0a 20 20 44 42 20 45 72 72 DB_ERROR_INVALID_NUMBER...DB.Err
51620 6f 72 3a 20 69 6e 76 61 6c 69 64 20 6e 75 6d 62 65 72 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f or:.invalid.number.Trying.to.pro
51640 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 0a 20 20 44 42 20 45 voke.DB_ERROR_NOSUCHFIELD...DB.E
51660 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 66 69 65 6c 64 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 rror:.no.such.field.Trying.to.pr
51680 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 0a 20 20 44 42 20 45 72 72 6f 72 ovoke.DB_ERROR_SYNTAX...DB.Error
516a0 3a 20 73 79 6e 74 61 78 20 65 72 72 6f 72 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 :.syntax.error..................
516c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
516e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
517a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
517c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
517e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 DB-1.3/tests/ibase/04numcols.php
51820 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
51840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
51880 20 20 20 20 33 31 35 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 31 36 31 37 20 00 00 00 00 00 ....315..7467414725..11617......
518a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
518c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
518e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
519a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
519c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
519e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51a00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 69 62 61 73 65 3a 3a 6e 75 6d 43 6f 6c 73 20 74 65 73 74 0a --TEST--.DB_ibase::numCols.test.
51a20 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 --SKIPIF--.<?php.include("skipif
51a40 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 .inc");.?>.--FILE--.<?php.requir
51a60 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c e_once."DB.php";.include("mktabl
51a80 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f e.inc");.include(dirname(__FILE_
51aa0 5f 29 2e 22 2f 2e 2e 2f 6e 75 6d 63 6f 6c 73 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 _)."/../numcols.inc");.?>.--EXPE
51ac0 43 54 2d 2d 0a 31 0a 32 0a 33 0a 34 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CT--.1.2.3.4....................
51ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51c00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 DB-1.3/tests/ibase/03simplequery
51c20 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .phpt...........................
51c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
51c80 20 20 20 20 33 32 36 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 32 35 31 37 20 00 00 00 00 00 ....326..7467414725..12517......
51ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51e00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 69 62 61 73 65 3a 3a 73 69 6d 70 6c 65 51 75 65 72 79 20 74 --TEST--.DB_ibase::simpleQuery.t
51e20 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b est.--SKIPIF--.<?php.include("sk
51e40 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 ipif.inc");.?>.--FILE--.<?php.re
51e60 71 75 69 72 65 5f 6f 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 22 6d 6b quire_once."DB.php";.include("mk
51e80 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 table.inc");.include(dirname(__F
51ea0 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 73 69 6d 70 6c 65 71 75 65 72 79 2e 69 6e 63 22 29 3b 0a 3f ILE__)."/../simplequery.inc");.?
51ec0 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 72 65 73 6f 75 72 63 65 0a 00 00 00 00 00 00 00 00 00 00 >.--EXPECT--.resource...........
51ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52000 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 32 66 65 74 63 68 2e 70 68 70 74 00 DB-1.3/tests/ibase/02fetch.phpt.
52020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
52080 20 20 20 32 30 30 36 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 31 32 34 35 20 00 00 00 00 00 ...2006..7467414725..11245......
520a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
520c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
520e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
521a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
521c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
521e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52200 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 69 62 61 73 65 20 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 --TEST--.DB_ibase.fetch.test.--S
52220 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 6e KIPIF--.<?php.include("skipif.in
52240 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 5f 6f c");.?>.--FILE--.<?php.require_o
52260 6e 63 65 20 22 44 42 2e 70 68 70 22 3b 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 nce."DB.php";.include("mktable.i
52280 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e nc");.include(dirname(__FILE__).
522a0 22 2f 2e 2e 2f 66 65 74 63 68 72 6f 77 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 "/../fetchrow.inc");.include(dir
522c0 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 66 65 74 63 68 6d 6f 64 65 73 2e 69 name(__FILE__)."/../fetchmodes.i
522e0 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 66 65 74 63 nc");.?>.--EXPECT--.testing.fetc
52300 68 72 6f 77 3a 0a 72 6f 77 20 31 3a 20 34 32 2c 20 62 69 6e 67 2c 20 54 68 69 73 20 69 73 20 61 hrow:.row.1:.42,.bing,.This.is.a
52320 20 74 65 73 74 2c 20 31 39 39 39 2d 31 31 2d 32 31 0a 72 6f 77 20 32 3a 20 31 2c 20 6f 6e 65 2c .test,.1999-11-21.row.2:.1,.one,
52340 20 4f 6e 65 2c 20 32 30 30 31 2d 30 32 2d 31 36 0a 72 6f 77 20 33 3a 20 32 2c 20 74 77 6f 2c 20 .One,.2001-02-16.row.3:.2,.two,.
52360 54 77 6f 2c 20 32 30 30 31 2d 30 32 2d 31 35 0a 72 6f 77 20 34 3a 20 33 2c 20 74 68 72 65 65 2c Two,.2001-02-15.row.4:.3,.three,
52380 20 54 68 72 65 65 2c 20 32 30 30 31 2d 30 32 2d 31 34 0a 72 6f 77 20 35 3a 20 4e 55 4c 4c 0a 74 .Three,.2001-02-14.row.5:.NULL.t
523a0 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 64 65 66 61 esting.fetchmodes:.fetchrow.defa
523c0 75 6c 74 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 ult.default.0.1.2.3.testing.fetc
523e0 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 64 65 66 61 75 6c 74 20 64 65 66 61 75 6c hmodes:.fetchinto.default.defaul
52400 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 t.0.1.2.3.testing.fetchmodes:.fe
52420 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 tchrow.ordered.default.0.1.2.3.t
52440 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 6f esting.fetchmodes:.fetchrow.asso
52460 63 20 64 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d c.default.a.b.c.d.testing.fetchm
52480 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 20 77 odes:.fetchrow.ordered.default.w
524a0 69 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a 74 65 73 74 ith.assoc.specified.a.b.c.d.test
524c0 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 6f 63 20 64 ing.fetchmodes:.fetchrow.assoc.d
524e0 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 0a 30 20 efault.with.ordered.specified.0.
52500 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 1.2.3.testing.fetchmodes:.fetchi
52520 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 nto.ordered.default.0.1.2.3.test
52540 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 6f 63 20 ing.fetchmodes:.fetchinto.assoc.
52560 64 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 default.a.b.c.d.testing.fetchmod
52580 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 20 77 69 es:.fetchinto.ordered.default.wi
525a0 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 th.assoc.specified.a.b.c.d.testi
525c0 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 6f 63 20 64 ng.fetchmodes:.fetchinto.assoc.d
525e0 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 0a 30 20 efault.with.ordered.specified.0.
52600 31 20 32 20 33 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1.2.3...........................
52620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
526a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
526c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
526e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
527a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
527c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
527e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 DB-1.3/tests/mysql/06prepexec.ph
52820 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
52840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
52880 20 20 20 20 35 30 35 20 20 37 35 31 31 30 36 32 31 33 32 20 20 31 32 30 31 34 20 00 00 00 00 00 ....505..7511062132..12014......
528a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
528c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
528e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
529a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
529c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
529e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52a00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 70 72 65 70 61 72 65 2f 65 78 65 63 75 --TEST--.DB_mysql::prepare/execu
52a20 74 65 20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 te.test.--SKIPIF--.<?php.include
52a40 28 22 73 6b 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 ("skipif.inc");.?>.--FILE--.<?ph
52a60 70 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 p.include("mktable.inc");.includ
52a80 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 70 72 65 70 65 78 65 e(dirname(__FILE__)."/../prepexe
52aa0 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 73 74 68 31 2c 73 74 68 32 2c .inc");.?>.--EXPECT--.sth1,sth2,
52ac0 73 74 68 33 20 63 72 65 61 74 65 64 0a 73 74 68 31 20 65 78 65 63 75 74 65 64 0a 73 74 68 32 20 sth3.created.sth1.executed.sth2.
52ae0 65 78 65 63 75 74 65 64 0a 73 74 68 33 20 65 78 65 63 75 74 65 64 0a 72 65 73 75 6c 74 73 3a 0a executed.sth3.executed.results:.
52b00 37 32 20 2d 20 20 2d 20 20 2d 20 0a 37 32 20 2d 20 62 69 6e 67 20 2d 20 20 2d 20 0a 37 32 20 2d 72.-..-..-..72.-.bing.-..-..72.-
52b20 20 67 61 7a 6f 6e 6b 20 2d 20 6f 70 61 71 75 65 0a 70 6c 61 63 65 68 6f 6c 64 65 72 0a 74 65 73 .gazonk.-.opaque.placeholder.tes
52b40 74 20 2d 20 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t.-.............................
52b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 38 61 66 66 65 63 74 65 64 72 6f 77 DB-1.3/tests/mysql/08affectedrow
52c20 73 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 s.phpt..........................
52c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
52c80 20 20 20 32 32 35 30 20 20 37 35 31 31 30 36 32 31 35 31 20 20 31 32 36 37 37 20 00 00 00 00 00 ...2250..7511062151..12677......
52ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 61 66 66 65 63 74 65 64 52 6f 77 73 20 --TEST--.DB_mysql::affectedRows.
52e20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 test.--SKIPIF--.<?php.include("s
52e40 6b 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 kipif.inc");.?>.--FILE--.<?php.i
52e60 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 nclude("mktable.inc");.$dbh->que
52e80 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 ry("INSERT.INTO.phptest.(a,b).VA
52ea0 4c 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 LUES(1,.'test')");.$dbh->query("
52ec0 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 INSERT.INTO.phptest.(a,b).VALUES
52ee0 28 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 (2,.'test')");.printf("%d.after.
52f00 69 6e 73 65 72 74 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 insert\n",.$dbh->affectedRows())
52f20 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 70 68 70 ;.$dbh->query("SELECT.*.FROM.php
52f40 74 65 73 74 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 73 65 6c 65 63 74 5c test");.printf("%d.after.select\
52f60 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 24 64 62 68 2d n",.$dbh->affectedRows());.$dbh-
52f80 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 74 20 57 48 45 52 >query("DELETE.FROM.phptest.WHER
52fa0 45 20 62 20 3d 20 27 74 65 73 74 27 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 E.b.=.'test'");.printf("%d.after
52fc0 20 64 65 6c 65 74 65 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 .delete\n",.$dbh->affectedRows()
52fe0 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 );.$dbh->query("INSERT.INTO.phpt
53000 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 est.(a,b).VALUES(1,.'test')");.$
53020 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 dbh->query("INSERT.INTO.phptest.
53040 28 61 2c 62 29 20 56 41 4c 55 45 53 28 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 62 68 2d (a,b).VALUES(2,.'test')");.$dbh-
53060 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 74 22 29 3b 0a 70 >query("DELETE.FROM.phptest");.p
53080 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 6c 20 28 6f 70 74 69 rintf("%d.after.delete.all.(opti
530a0 6d 69 7a 65 3d 25 73 29 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 mize=%s)\n",.$dbh->affectedRows(
530c0 29 2c 0a 20 20 20 20 20 20 20 24 64 62 68 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 22 6f 70 74 69 6d ),........$dbh->getOption("optim
530e0 69 7a 65 22 29 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f ize"));.$dbh->query("INSERT.INTO
53100 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 .phptest.(a,b).VALUES(1,.'test')
53120 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 ");.$dbh->query("INSERT.INTO.php
53140 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a test.(a,b).VALUES(2,.'test')");.
53160 24 64 62 68 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 22 6f 70 74 69 6d 69 7a 65 22 2c 20 22 70 6f 72 $dbh->setOption("optimize",."por
53180 74 61 62 69 6c 69 74 79 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 tability");.$dbh->query("DELETE.
531a0 46 52 4f 4d 20 70 68 70 74 65 73 74 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 FROM.phptest");.printf("%d.after
531c0 20 64 65 6c 65 74 65 20 61 6c 6c 20 28 6f 70 74 69 6d 69 7a 65 3d 25 73 29 5c 6e 22 2c 20 24 64 .delete.all.(optimize=%s)\n",.$d
531e0 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 2c 0a 20 20 20 20 20 20 20 24 64 62 68 2d bh->affectedRows(),........$dbh-
53200 3e 67 65 74 4f 70 74 69 6f 6e 28 22 6f 70 74 69 6d 69 7a 65 22 29 29 3b 0a 3f 3e 0a 2d 2d 45 58 >getOption("optimize"));.?>.--EX
53220 50 45 43 54 2d 2d 0a 31 20 61 66 74 65 72 20 69 6e 73 65 72 74 0a 30 20 61 66 74 65 72 20 73 65 PECT--.1.after.insert.0.after.se
53240 6c 65 63 74 0a 32 20 61 66 74 65 72 20 64 65 6c 65 74 65 0a 30 20 61 66 74 65 72 20 64 65 6c 65 lect.2.after.delete.0.after.dele
53260 74 65 20 61 6c 6c 20 28 6f 70 74 69 6d 69 7a 65 3d 70 65 72 66 6f 72 6d 61 6e 63 65 29 0a 32 20 te.all.(optimize=performance).2.
53280 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 6c 20 28 6f 70 74 69 6d 69 7a 65 3d 70 6f 72 74 61 after.delete.all.(optimize=porta
532a0 62 69 6c 69 74 79 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bility).........................
532c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
532e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
533a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
533c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
533e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53400 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 68 70 DB-1.3/tests/mysql/09numrows.php
53420 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
53440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
53480 20 20 20 20 33 32 32 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 31 37 33 36 20 00 00 00 00 00 ....322..7467414725..11736......
534a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
534c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
534e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53600 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 6e 75 6d 52 6f 77 73 20 74 65 73 74 0a --TEST--.DB_mysql::numRows.test.
53620 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
53640 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
53660 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 ."connect.inc";.require."mktable
53680 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 .inc";.require.dirname(__FILE__)
536a0 2e 22 2f 2e 2e 2f 6e 75 6d 72 6f 77 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d ."/../numrows.inc";.?>.--EXPECT-
536c0 2d 0a 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 32 0a 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.1.2.3.4.5.6.2.0...............
536e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
537a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
537c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
537e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 33 6c 69 6d 69 74 2e 70 68 70 74 00 DB-1.3/tests/mysql/13limit.phpt.
53820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
53880 20 20 20 31 35 34 30 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 31 33 36 30 20 00 00 00 00 00 ...1540..7467414725..11360......
538a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
538c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
538e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
539a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
539c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
539e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53a00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 20 72 6f 77 20 6c 69 6d 69 74 0a 2d 2d 53 4b --TEST--.DB_mysql.row.limit.--SK
53a20 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 IPIF--.<?php.require."skipif.inc
53a40 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 27 63 6f ";.?>.--FILE--.<?php.require.'co
53a60 6e 6e 65 63 74 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 64 69 72 6e 61 6d 65 28 5f 5f 46 49 nnect.inc';.include.dirname(__FI
53a80 4c 45 5f 5f 29 2e 27 2f 2e 2e 2f 6c 69 6d 69 74 2e 69 6e 63 27 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 LE__).'/../limit.inc';.?>.--EXPE
53aa0 43 54 2d 2d 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f CT--.=======.From:.0.||.Number.o
53ac0 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a 31 2e 2d 20 f.rows.to.fetch:.10.=======.1.-.
53ae0 72 65 73 75 6c 74 20 30 0a 32 2e 2d 20 72 65 73 75 6c 74 20 31 0a 33 2e 2d 20 72 65 73 75 6c 74 result.0.2.-.result.1.3.-.result
53b00 20 32 0a 34 2e 2d 20 72 65 73 75 6c 74 20 33 0a 35 2e 2d 20 72 65 73 75 6c 74 20 34 0a 36 2e 2d .2.4.-.result.3.5.-.result.4.6.-
53b20 20 72 65 73 75 6c 74 20 35 0a 37 2e 2d 20 72 65 73 75 6c 74 20 36 0a 38 2e 2d 20 72 65 73 75 6c .result.5.7.-.result.6.8.-.resul
53b40 74 20 37 0a 39 2e 2d 20 72 65 73 75 6c 74 20 38 0a 31 30 2e 2d 20 72 65 73 75 6c 74 20 39 0a 3d t.7.9.-.result.8.10.-.result.9.=
53b60 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 31 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 ======.From:.10.||.Number.of.row
53b80 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a 31 31 2e 2d 20 72 65 73 75 s.to.fetch:.10.=======.11.-.resu
53ba0 6c 74 20 31 30 0a 31 32 2e 2d 20 72 65 73 75 6c 74 20 31 31 0a 31 33 2e 2d 20 72 65 73 75 6c 74 lt.10.12.-.result.11.13.-.result
53bc0 20 31 32 0a 31 34 2e 2d 20 72 65 73 75 6c 74 20 31 33 0a 31 35 2e 2d 20 72 65 73 75 6c 74 20 31 .12.14.-.result.13.15.-.result.1
53be0 34 0a 31 36 2e 2d 20 72 65 73 75 6c 74 20 31 35 0a 31 37 2e 2d 20 72 65 73 75 6c 74 20 31 36 0a 4.16.-.result.15.17.-.result.16.
53c00 31 38 2e 2d 20 72 65 73 75 6c 74 20 31 37 0a 31 39 2e 2d 20 72 65 73 75 6c 74 20 31 38 0a 32 30 18.-.result.17.19.-.result.18.20
53c20 2e 2d 20 72 65 73 75 6c 74 20 31 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 32 30 20 7c 7c .-.result.19.=======.From:.20.||
53c40 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d .Number.of.rows.to.fetch:.10.===
53c60 3d 3d 3d 3d 0a 32 31 2e 2d 20 72 65 73 75 6c 74 20 32 30 0a 32 32 2e 2d 20 72 65 73 75 6c 74 20 ====.21.-.result.20.22.-.result.
53c80 32 31 0a 32 33 2e 2d 20 72 65 73 75 6c 74 20 32 32 0a 32 34 2e 2d 20 72 65 73 75 6c 74 20 32 33 21.23.-.result.22.24.-.result.23
53ca0 0a 32 35 2e 2d 20 72 65 73 75 6c 74 20 32 34 0a 32 36 2e 2d 20 72 65 73 75 6c 74 20 32 35 0a 32 .25.-.result.24.26.-.result.25.2
53cc0 37 2e 2d 20 72 65 73 75 6c 74 20 32 36 0a 32 38 2e 2d 20 72 65 73 75 6c 74 20 32 37 0a 32 39 2e 7.-.result.26.28.-.result.27.29.
53ce0 2d 20 72 65 73 75 6c 74 20 32 38 0a 33 30 2e 2d 20 72 65 73 75 6c 74 20 32 39 0a 3d 3d 3d 3d 3d -.result.28.30.-.result.29.=====
53d00 3d 3d 20 46 72 6f 6d 3a 20 33 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f ==.From:.30.||.Number.of.rows.to
53d20 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a 33 31 2e 2d 20 72 65 73 75 6c 74 20 33 .fetch:.10.=======.31.-.result.3
53d40 30 0a 33 32 2e 2d 20 72 65 73 75 6c 74 20 33 31 0a 33 33 2e 2d 20 72 65 73 75 6c 74 20 33 32 0a 0.32.-.result.31.33.-.result.32.
53d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 DB-1.3/tests/mysql/05sequences.p
53e20 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hpt.............................
53e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
53e80 20 20 20 20 34 31 31 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 32 32 31 32 20 00 00 00 00 00 ....411..7467414725..12212......
53ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 20 73 65 71 75 65 6e 63 65 73 0a 2d 2d 53 4b --TEST--.DB_mysql.sequences.--SK
54020 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 IPIF--.<?php.require."skipif.inc
54040 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 22 63 6f ";.?>.--FILE--.<?php.require."co
54060 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 64 69 72 6e 61 6d 65 28 5f 5f 46 49 nnect.inc";.require.dirname(__FI
54080 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 73 65 71 75 65 6e 63 65 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d LE__)."/../sequences.inc";.?>.--
540a0 45 58 50 45 43 54 2d 2d 0a 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 EXPECT--.DB.Error:.no.such.table
540c0 0a 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 20 3c 2d 20 67 6f 6f 64 .DB.Error:.no.such.table.<-.good
540e0 20 65 72 72 6f 72 20 63 61 74 63 68 65 64 0a 61 3d 31 0a 62 3d 32 0a 62 2d 61 3d 31 0a 63 3d 31 .error.catched.a=1.b=2.b-a=1.c=1
54100 0a 64 3d 31 0a 65 3d 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .d=1.e=1........................
54120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
541a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
541c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
541e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 37 65 72 72 6f 72 6e 61 74 69 76 65 DB-1.3/tests/mysql/07errornative
54220 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .phpt...........................
54240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
54280 20 20 20 20 33 35 32 20 20 37 35 31 31 30 36 32 31 34 32 20 20 31 32 35 34 33 20 00 00 00 00 00 ....352..7511062142..12543......
542a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
542c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
542e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
543a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
543c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
543e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 65 72 72 6f 72 4e 61 74 69 76 65 20 74 --TEST--.DB_mysql::errorNative.t
54420 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b est.--SKIPIF--.<?php.include("sk
54440 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e ipif.inc");.?>.--FILE--.<?php.in
54460 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 clude("mktable.inc");.$dbh->quer
54480 79 28 22 73 79 6e 74 61 78 20 65 72 72 6f 72 20 70 6c 65 61 73 65 22 29 3b 0a 70 72 69 6e 74 20 y("syntax.error.please");.print.
544a0 22 65 72 72 6f 72 20 63 6f 64 65 20 22 20 2e 20 24 64 62 68 2d 3e 65 72 72 6f 72 4e 61 74 69 76 "error.code."...$dbh->errorNativ
544c0 65 28 29 20 2e 20 22 5c 6e 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 65 72 72 6f 72 20 e()..."\n";.?>.--EXPECT--.error.
544e0 63 6f 64 65 20 31 30 36 34 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 code.1064.......................
54500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
545a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
545c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
545e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54600 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 32 74 61 62 6c 65 69 6e 66 6f 2e 70 DB-1.3/tests/mysql/12tableinfo.p
54620 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hpt.............................
54640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
54680 20 20 20 32 37 32 37 20 20 37 35 31 31 30 36 32 31 36 32 20 20 31 32 31 37 34 20 00 00 00 00 00 ...2727..7511062162..12174......
546a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
546c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
546e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
547a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
547c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
547e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54800 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 20 74 61 62 6c 65 49 6e 66 6f 20 74 65 73 74 --TEST--.DB_mysql.tableInfo.test
54820 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 .--SKIPIF--.<?php.include("skipi
54840 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 f.inc");.?>.--FILE--.<?php.inclu
54860 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 de("mktable.inc");.include(dirna
54880 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 74 61 62 6c 65 69 6e 66 6f 2e 69 6e 63 22 me(__FILE__)."/../tableinfo.inc"
548a0 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 6e );.?>.--EXPECT--.testing.tableIn
548c0 66 6f 3a 0a 0a 66 69 72 73 74 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 20 3d 3e 20 70 68 70 74 65 fo:..first.field:.table.=>.phpte
548e0 73 74 20 0a 6e 61 6d 65 20 3d 3e 20 61 20 0a 74 79 70 65 20 3d 3e 20 69 6e 74 20 0a 6c 65 6e 20 st..name.=>.a..type.=>.int..len.
54900 3d 3e 20 31 31 20 0a 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 65 69 67 68 74 20 28 6c 61 73 74 29 20 =>.11..flags.=>....eight.(last).
54920 66 69 65 6c 64 3a 0a 74 61 62 6c 65 20 3d 3e 20 70 68 70 74 65 73 74 5f 66 6b 20 0a 6e 61 6d 65 field:.table.=>.phptest_fk..name
54940 20 3d 3e 20 64 20 0a 74 79 70 65 20 3d 3e 20 64 61 74 65 20 0a 6c 65 6e 20 3d 3e 20 31 30 20 0a .=>.d..type.=>.date..len.=>.10..
54960 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 6e 66 6f 20 28 44 flags.=>....testing.tableInfo.(D
54980 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 3a 0a 0a 66 69 72 73 74 20 66 69 65 6c 64 B_TABLEINFO_ORDER):..first.field
549a0 3a 0a 74 61 62 6c 65 20 3d 3e 20 70 68 70 74 65 73 74 20 0a 6e 61 6d 65 20 3d 3e 20 61 20 0a 74 :.table.=>.phptest..name.=>.a..t
549c0 79 70 65 20 3d 3e 20 69 6e 74 20 0a 6c 65 6e 20 3d 3e 20 31 31 20 0a 66 6c 61 67 73 20 3d 3e 20 ype.=>.int..len.=>.11..flags.=>.
549e0 20 0a 0a 65 69 67 68 74 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 20 3d 3e 20 70 68 70 74 65 73 74 ...eight.field:.table.=>.phptest
54a00 20 0a 6e 61 6d 65 20 3d 3e 20 64 20 0a 74 79 70 65 20 3d 3e 20 64 61 74 65 20 0a 6c 65 6e 20 3d ..name.=>.d..type.=>.date..len.=
54a20 3e 20 31 30 20 0a 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 6e 75 6d 5f 66 69 65 6c 64 73 3a 0a 38 0a >.10..flags.=>....num_fields:.8.
54a40 0a 6f 72 64 65 72 3a 0a 61 20 3d 3e 20 34 20 0a 62 20 3d 3e 20 31 20 0a 63 20 3d 3e 20 36 20 0a .order:.a.=>.4..b.=>.1..c.=>.6..
54a60 64 20 3d 3e 20 37 20 0a 66 6b 20 3d 3e 20 35 20 0a 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 d.=>.7..fk.=>.5...testing.tableI
54a80 6e 66 6f 20 28 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 29 3a 0a 0a nfo.(DB_TABLEINFO_ORDERTABLE):..
54aa0 66 69 72 73 74 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 20 3d 3e 20 70 68 70 74 65 73 74 20 0a 6e first.field:.table.=>.phptest..n
54ac0 61 6d 65 20 3d 3e 20 61 20 0a 74 79 70 65 20 3d 3e 20 69 6e 74 20 0a 6c 65 6e 20 3d 3e 20 31 31 ame.=>.a..type.=>.int..len.=>.11
54ae0 20 0a 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 65 69 67 68 74 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 ..flags.=>....eight.field:.table
54b00 20 3d 3e 20 70 68 70 74 65 73 74 20 0a 6e 61 6d 65 20 3d 3e 20 64 20 0a 74 79 70 65 20 3d 3e 20 .=>.phptest..name.=>.d..type.=>.
54b20 64 61 74 65 20 0a 6c 65 6e 20 3d 3e 20 31 30 20 0a 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 6e 75 6d date..len.=>.10..flags.=>....num
54b40 5f 66 69 65 6c 64 73 3a 0a 38 0a 0a 6f 72 64 65 72 74 61 62 6c 65 3a 0a 70 68 70 74 65 73 74 20 _fields:.8..ordertable:.phptest.
54b60 3d 3e 20 41 72 72 61 79 20 0a 70 68 70 74 65 73 74 5f 66 6b 20 3d 3e 20 41 72 72 61 79 20 0a 0a =>.Array..phptest_fk.=>.Array...
54b80 6f 72 64 65 72 74 61 62 6c 65 5b 70 68 70 74 65 73 74 5d 3a 0a 61 20 3d 3e 20 30 20 0a 62 20 3d ordertable[phptest]:.a.=>.0..b.=
54ba0 3e 20 31 20 0a 63 20 3d 3e 20 32 20 0a 64 20 3d 3e 20 33 20 0a 0a 6f 72 64 65 72 74 61 62 6c 65 >.1..c.=>.2..d.=>.3...ordertable
54bc0 5b 70 68 70 74 65 73 74 5f 66 6b 5d 3a 0a 61 20 3d 3e 20 34 20 0a 66 6b 20 3d 3e 20 35 20 0a 63 [phptest_fk]:.a.=>.4..fk.=>.5..c
54be0 20 3d 3e 20 36 20 0a 64 20 3d 3e 20 37 20 0a 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 6e 66 .=>.6..d.=>.7...testing.tableInf
54c00 6f 20 28 74 61 62 6c 65 20 77 69 74 68 6f 75 74 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 3a 0a o.(table.without.query-result):.
54c20 0a 66 69 72 73 74 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 20 3d 3e 20 70 68 70 74 65 73 74 20 0a .first.field:.table.=>.phptest..
54c40 6e 61 6d 65 20 3d 3e 20 61 20 0a 74 79 70 65 20 3d 3e 20 69 6e 74 20 0a 6c 65 6e 20 3d 3e 20 31 name.=>.a..type.=>.int..len.=>.1
54c60 31 20 0a 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 66 6f 75 72 74 68 20 28 6c 61 73 74 29 20 66 69 65 1..flags.=>....fourth.(last).fie
54c80 6c 64 3a 0a 74 61 62 6c 65 20 3d 3e 20 70 68 70 74 65 73 74 20 0a 6e 61 6d 65 20 3d 3e 20 64 20 ld:.table.=>.phptest..name.=>.d.
54ca0 0a 74 79 70 65 20 3d 3e 20 64 61 74 65 20 0a 6c 65 6e 20 3d 3e 20 31 30 20 0a 66 6c 61 67 73 20 .type.=>.date..len.=>.10..flags.
54cc0 3d 3e 20 20 0a 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 6e 66 6f 20 28 74 61 62 6c 65 20 77 =>....testing.tableInfo.(table.w
54ce0 69 74 68 6f 75 74 20 71 75 65 72 79 2d 72 65 73 75 6c 74 20 61 6e 64 20 44 42 5f 54 41 42 4c 45 ithout.query-result.and.DB_TABLE
54d00 49 4e 46 4f 5f 46 55 4c 4c 29 3a 0a 0a 66 69 72 73 74 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 20 INFO_FULL):..first.field:.table.
54d20 3d 3e 20 70 68 70 74 65 73 74 20 0a 6e 61 6d 65 20 3d 3e 20 61 20 0a 74 79 70 65 20 3d 3e 20 69 =>.phptest..name.=>.a..type.=>.i
54d40 6e 74 20 0a 6c 65 6e 20 3d 3e 20 31 31 20 0a 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 6f 72 64 65 72 nt..len.=>.11..flags.=>....order
54d60 3a 0a 61 20 3d 3e 20 30 20 0a 62 20 3d 3e 20 31 20 0a 63 20 3d 3e 20 32 20 0a 64 20 3d 3e 20 33 :.a.=>.0..b.=>.1..c.=>.2..d.=>.3
54d80 20 0a 0a 6f 72 64 65 72 74 61 62 6c 65 3a 0a 70 68 70 74 65 73 74 20 3d 3e 20 41 72 72 61 79 20 ...ordertable:.phptest.=>.Array.
54da0 0a 0a 6f 72 64 65 72 74 61 62 6c 65 5b 70 68 70 74 65 73 74 5d 3a 0a 61 20 3d 3e 20 30 20 0a 62 ..ordertable[phptest]:.a.=>.0..b
54dc0 20 3d 3e 20 31 20 0a 63 20 3d 3e 20 32 20 0a 64 20 3d 3e 20 33 20 0a 00 00 00 00 00 00 00 00 00 .=>.1..c.=>.2..d.=>.3...........
54de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 DB-1.3/tests/mysql/01connect.php
54e20 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
54e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
54e80 20 20 20 20 34 34 36 20 20 37 34 36 37 34 31 34 37 32 35 20 20 31 31 36 35 34 20 00 00 00 00 00 ....446..7467414725..11654......
54ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 63 6f 6e 6e 65 63 74 20 74 65 73 74 0a --TEST--.DB_mysql::connect.test.
55020 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
55040 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
55060 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 ."connect.inc";.if.(is_object($d
55080 62 68 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 69 73 20 61 6e 20 6f 62 bh)).{.....print."\$dbh.is.an.ob
550a0 6a 65 63 74 5c 6e 22 3b 0a 7d 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 64 62 68 2d ject\n";.}.if.(is_resource($dbh-
550c0 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 >connection)).{.....print."\$dbh
550e0 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 5c 6e 22 3b 0a 7d 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d .is.connected\n";.}.?>.--EXPECT-
55100 2d 0a 24 64 62 68 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 0a 24 64 62 68 20 69 73 20 63 6f 6e 6e -.$dbh.is.an.object.$dbh.is.conn
55120 65 63 74 65 64 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ected...........................
55140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
551a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
551c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
551e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 68 DB-1.3/tests/mysql/10errormap.ph
55220 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
55240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
55280 20 20 20 31 31 34 30 20 20 37 35 31 31 30 36 32 32 30 32 20 20 31 32 30 33 35 20 00 00 00 00 00 ...1140..7511062202..12035......
552a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
552c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
552e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
553a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
553c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
553e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 20 65 72 72 6f 72 20 6d 61 70 70 69 6e 67 0a --TEST--.DB_mysql.error.mapping.
55420 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
55440 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
55460 20 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 64 69 72 6e 61 6d 65 28 ."mktable.inc";.require.dirname(
55480 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 65 72 72 6f 72 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d __FILE__)."/../errors.inc";.?>.-
554a0 2d 45 58 50 45 43 54 2d 2d 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 -EXPECT--.Trying.to.provoke.DB_E
554c0 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 RROR_NOSUCHTABLE...DB.Error:.no.
554e0 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f such.table.Trying.to.provoke.DB_
55500 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 0a 20 20 44 42 20 45 72 72 6f 72 3a ERROR_ALREADY_EXISTS...DB.Error:
55520 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b .already.exists.Trying.to.provok
55540 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f e.DB_ERROR_NOSUCHTABLE...DB.Erro
55560 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f r:.no.such.table.Trying.to.provo
55580 6b 65 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 0a 54 72 79 69 6e 67 20 74 6f ke.DB_ERROR_CONSTRAINT.Trying.to
555a0 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 0a 54 72 79 69 6e 67 .provoke.DB_ERROR_DIVZERO.Trying
555c0 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e 55 4d .to.provoke.DB_ERROR_INVALID_NUM
555e0 42 45 52 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e BER.Trying.to.provoke.DB_ERROR_N
55600 4f 53 55 43 48 46 49 45 4c 44 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 66 OSUCHFIELD...DB.Error:.no.such.f
55620 69 65 6c 64 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f ield.Trying.to.provoke.DB_ERROR_
55640 53 59 4e 54 41 58 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 72 72 6f 72 0a SYNTAX...DB.Error:.syntax.error.
55660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
556a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
556c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
556e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
557a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
557c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
557e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 DB-1.3/tests/mysql/04numcols.php
55820 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
55840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
55880 20 20 20 20 32 36 36 20 20 37 35 31 31 30 36 32 32 33 32 20 20 31 31 36 36 34 20 00 00 00 00 00 ....266..7511062232..11664......
558a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
558c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
558e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
559a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
559c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
559e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55a00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 6e 75 6d 43 6f 6c 73 20 74 65 73 74 0a --TEST--.DB_mysql::numCols.test.
55a20 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 --SKIPIF--.<?php.include("skipif
55a40 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 .inc");.?>.--FILE--.<?php.includ
55a60 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 6d e("mktable.inc");.include(dirnam
55a80 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 6e 75 6d 63 6f 6c 73 2e 69 6e 63 22 29 3b 0a e(__FILE__)."/../numcols.inc");.
55aa0 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 0a 34 0a 00 00 00 00 00 00 00 00 00 00 ?>.--EXPECT--.1.2.3.4...........
55ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55c00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 DB-1.3/tests/mysql/03simplequery
55c20 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .phpt...........................
55c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
55c80 20 20 20 20 32 37 37 20 20 37 35 31 31 30 36 32 31 32 31 20 20 31 32 35 36 31 20 00 00 00 00 00 ....277..7511062121..12561......
55ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55e00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 73 69 6d 70 6c 65 51 75 65 72 79 20 74 --TEST--.DB_mysql::simpleQuery.t
55e20 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b est.--SKIPIF--.<?php.include("sk
55e40 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e ipif.inc");.?>.--FILE--.<?php.in
55e60 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 clude("mktable.inc");.include(di
55e80 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 73 69 6d 70 6c 65 71 75 65 72 79 rname(__FILE__)."/../simplequery
55ea0 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 72 65 73 6f 75 72 63 65 0a 00 .inc");.?>.--EXPECT--.resource..
55ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56000 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 34 66 65 74 63 68 6d 6f 64 65 5f 6f DB-1.3/tests/mysql/14fetchmode_o
56020 62 6a 65 63 74 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bject.phpt......................
56040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
56080 20 20 20 20 37 33 34 20 20 37 35 31 31 30 36 33 36 31 32 20 20 31 33 34 37 34 20 00 00 00 00 00 ....734..7511063612..13474......
560a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
560c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
560e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
561a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
561c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
561e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56200 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 3a 3a 66 65 74 63 68 6d 6f 64 65 20 6f 62 6a --TEST--.DB_mysql::fetchmode.obj
56220 65 63 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b ect.--SKIPIF--.<?php.require."sk
56240 69 70 69 66 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 ipif.inc";.?>.--FILE--.<?php.req
56260 75 69 72 65 20 27 6d 6b 74 61 62 6c 65 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 64 69 72 6e uire.'mktable.inc';.include.dirn
56280 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 27 2f 2e 2e 2f 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a ame(__FILE__).'/../fetchmode_obj
562a0 65 63 74 2e 69 6e 63 27 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 2d 2d 2d 20 66 65 74 63 ect.inc';.?>.--EXPECT--.---.fetc
562c0 68 20 77 69 74 68 20 70 61 72 61 6d 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 h.with.param.DB_FETCHMODE_OBJECT
562e0 20 2d 2d 2d 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 73 74 64 43 6c 61 73 .---.stdClass.->.a.b.c.d.stdClas
56300 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 2d 2d 2d 20 66 65 74 63 68 20 77 69 74 68 20 64 65 66 61 s.->.a.b.c.d.---.fetch.with.defa
56320 75 6c 74 20 66 65 74 63 68 6d 6f 64 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 ult.fetchmode.DB_FETCHMODE_OBJEC
56340 54 20 2d 2d 2d 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 73 74 64 43 6c 61 T.---.stdClass.->.a.b.c.d.stdCla
56360 73 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 2d 2d 2d 20 66 65 74 63 68 20 77 69 74 68 20 64 65 66 ss.->.a.b.c.d.---.fetch.with.def
56380 61 75 6c 74 20 66 65 74 63 68 6d 6f 64 65 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 ault.fetchmode.DB_FETCHMODE_OBJE
563a0 43 54 20 61 6e 64 20 63 6c 61 73 73 20 44 42 5f 52 6f 77 20 2d 2d 2d 0a 64 62 5f 72 6f 77 20 2d CT.and.class.DB_Row.---.db_row.-
563c0 3e 20 61 20 62 20 63 20 64 0a 64 62 5f 72 6f 77 20 2d 3e 20 61 20 62 20 63 20 64 0a 00 00 00 00 >.a.b.c.d.db_row.->.a.b.c.d.....
563e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56400 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 32 66 65 74 63 68 2e 70 68 70 74 00 DB-1.3/tests/mysql/02fetch.phpt.
56420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
56480 20 20 20 31 37 35 37 20 20 37 35 31 31 30 36 32 30 35 34 20 20 31 31 33 32 33 20 00 00 00 00 00 ...1757..7511062054..11323......
564a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
564c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
564e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
565a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
565c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
565e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56600 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 6d 79 73 71 6c 20 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 --TEST--.DB_mysql.fetch.test.--S
56620 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 6e KIPIF--.<?php.include("skipif.in
56640 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 28 22 c");.?>.--FILE--.<?php.include("
56660 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 64 69 72 6e 61 6d 65 28 5f mktable.inc");.include(dirname(_
56680 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 66 65 74 63 68 72 6f 77 2e 69 6e 63 22 29 3b 0a 69 6e _FILE__)."/../fetchrow.inc");.in
566a0 63 6c 75 64 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 66 65 74 clude(dirname(__FILE__)."/../fet
566c0 63 68 6d 6f 64 65 73 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 74 65 73 chmodes.inc");.?>.--EXPECT--.tes
566e0 74 69 6e 67 20 66 65 74 63 68 72 6f 77 3a 0a 72 6f 77 20 31 3a 20 34 32 2c 20 62 69 6e 67 2c 20 ting.fetchrow:.row.1:.42,.bing,.
56700 54 68 69 73 20 69 73 20 61 20 74 65 73 74 2c 20 31 39 39 39 2d 31 31 2d 32 31 0a 72 6f 77 20 32 This.is.a.test,.1999-11-21.row.2
56720 3a 20 31 2c 20 6f 6e 65 2c 20 4f 6e 65 2c 20 32 30 30 31 2d 30 32 2d 31 36 0a 72 6f 77 20 33 3a :.1,.one,.One,.2001-02-16.row.3:
56740 20 32 2c 20 74 77 6f 2c 20 54 77 6f 2c 20 32 30 30 31 2d 30 32 2d 31 35 0a 72 6f 77 20 34 3a 20 .2,.two,.Two,.2001-02-15.row.4:.
56760 33 2c 20 74 68 72 65 65 2c 20 54 68 72 65 65 2c 20 32 30 30 31 2d 30 32 2d 31 34 0a 72 6f 77 20 3,.three,.Three,.2001-02-14.row.
56780 35 3a 20 4e 55 4c 4c 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 5:.NULL.testing.fetchmodes:.fetc
567a0 68 72 6f 77 20 64 65 66 61 75 6c 74 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 hrow.default.default.0.1.2.3.tes
567c0 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 64 65 66 61 75 ting.fetchmodes:.fetchinto.defau
567e0 6c 74 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 lt.default.0.1.2.3.testing.fetch
56800 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a modes:.fetchrow.ordered.default.
56820 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 0.1.2.3.testing.fetchmodes:.fetc
56840 68 72 6f 77 20 61 73 73 6f 63 20 64 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 hrow.assoc.default.a.b.c.d.testi
56860 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 ng.fetchmodes:.fetchrow.ordered.
56880 64 65 66 61 75 6c 74 20 77 69 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 default.with.assoc.specified.a.b
568a0 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f .c.d.testing.fetchmodes:.fetchro
568c0 77 20 61 73 73 6f 63 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 w.assoc.default.with.ordered.spe
568e0 63 69 66 69 65 64 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 cified.0.1.2.3.testing.fetchmode
56900 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 s:.fetchinto.ordered.default.0.1
56920 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e .2.3.testing.fetchmodes:.fetchin
56940 74 6f 20 61 73 73 6f 63 20 64 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 to.assoc.default.a.b.c.d.testing
56960 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 .fetchmodes:.fetchinto.ordered.d
56980 65 66 61 75 6c 74 20 77 69 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 efault.with.assoc.specified.a.b.
569a0 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 c.d.testing.fetchmodes:.fetchint
569c0 6f 20 61 73 73 6f 63 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 o.assoc.default.with.ordered.spe
569e0 63 69 66 69 65 64 0a 30 20 31 20 32 20 33 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cified.0.1.2.3..................
56a00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 DB-1.3/tests/pgsql/06prepexec.ph
56a20 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
56a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
56a80 20 20 20 20 34 36 32 20 20 37 35 31 31 30 36 34 35 36 36 20 20 31 32 30 31 34 20 00 00 00 00 00 ....462..7511064566..12014......
56aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56c00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 70 72 65 70 61 72 65 2f 65 78 65 63 75 --TEST--.DB_pgsql::prepare/execu
56c20 74 65 20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 te.test.--SKIPIF--.<?php.include
56c40 28 22 73 6b 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 ("skipif.inc");.?>.--FILE--.<?ph
56c60 70 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 p.include("mktable.inc");.includ
56c80 65 28 22 2e 2e 2f 70 72 65 70 65 78 65 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 e("../prepexe.inc");.?>.--EXPECT
56ca0 2d 2d 0a 73 74 68 31 2c 73 74 68 32 2c 73 74 68 33 20 63 72 65 61 74 65 64 0a 73 74 68 31 20 65 --.sth1,sth2,sth3.created.sth1.e
56cc0 78 65 63 75 74 65 64 0a 73 74 68 32 20 65 78 65 63 75 74 65 64 0a 73 74 68 33 20 65 78 65 63 75 xecuted.sth2.executed.sth3.execu
56ce0 74 65 64 0a 72 65 73 75 6c 74 73 3a 0a 37 32 20 2d 20 20 2d 20 20 2d 20 0a 37 32 20 2d 20 62 69 ted.results:.72.-..-..-..72.-.bi
56d00 6e 67 20 2d 20 20 2d 20 0a 37 32 20 2d 20 67 61 7a 6f 6e 6b 20 2d 20 6f 70 61 71 75 65 0a 70 6c ng.-..-..72.-.gazonk.-.opaque.pl
56d20 61 63 65 68 6f 6c 64 65 72 0a 74 65 73 74 20 2d 20 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 aceholder.test.-................
56d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 31 74 72 61 6e 73 61 63 74 2e 70 68 DB-1.3/tests/pgsql/11transact.ph
56e20 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
56e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
56e80 20 20 20 31 30 36 33 20 20 37 35 31 31 30 36 34 37 37 31 20 20 31 32 30 33 30 20 00 00 00 00 00 ...1063..7511064771..12030......
56ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 74 72 61 6e 73 61 63 74 69 6f 6e 20 74 --TEST--.DB_pgsql::transaction.t
57020 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b est.--SKIPIF--.<?php.require."sk
57040 69 70 69 66 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 ipif.inc";.?>.--FILE--.<?php.req
57060 75 69 72 65 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 uire."connect.inc";.require."mkt
57080 61 62 6c 65 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 74 72 61 6e 73 61 63 74 69 able.inc";.require."../transacti
570a0 6f 6e 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 61 66 74 65 72 20 61 75 ons.inc";.?>.--EXPECT--.after.au
570c0 74 6f 63 6f 6d 6d 69 74 3a 20 62 69 6e 67 20 6f 6e 65 20 6f 70 73 3d 30 0a 62 65 66 6f 72 65 20 tocommit:.bing.one.ops=0.before.
570e0 63 6f 6d 6d 69 74 3a 20 62 69 6e 67 20 6f 6e 65 20 74 77 6f 20 74 68 72 65 65 20 6f 70 73 3d 32 commit:.bing.one.two.three.ops=2
57100 0a 61 66 74 65 72 20 63 6f 6d 6d 69 74 3a 20 62 69 6e 67 20 6f 6e 65 20 74 77 6f 20 74 68 72 65 .after.commit:.bing.one.two.thre
57120 65 20 6f 70 73 3d 30 0a 62 65 66 6f 72 65 20 72 6f 6c 6c 62 61 63 6b 3a 20 62 69 6e 67 20 6f 6e e.ops=0.before.rollback:.bing.on
57140 65 20 74 77 6f 20 74 68 72 65 65 20 66 6f 75 72 20 66 69 76 65 20 6f 70 73 3d 32 0a 61 66 74 65 e.two.three.four.five.ops=2.afte
57160 72 20 72 6f 6c 6c 62 61 63 6b 3a 20 62 69 6e 67 20 6f 6e 65 20 74 77 6f 20 74 68 72 65 65 20 6f r.rollback:.bing.one.two.three.o
57180 70 73 3d 30 0a 62 65 66 6f 72 65 20 61 75 74 6f 63 6f 6d 6d 69 74 2b 72 6f 6c 6c 62 61 63 6b 3a ps=0.before.autocommit+rollback:
571a0 20 62 69 6e 67 20 6f 6e 65 20 74 77 6f 20 74 68 72 65 65 20 73 69 78 20 73 65 76 65 6e 20 6f 70 .bing.one.two.three.six.seven.op
571c0 73 3d 30 0a 61 66 74 65 72 20 61 75 74 6f 63 6f 6d 6d 69 74 2b 72 6f 6c 6c 62 61 63 6b 3a 20 62 s=0.after.autocommit+rollback:.b
571e0 69 6e 67 20 6f 6e 65 20 74 77 6f 20 74 68 72 65 65 20 73 69 78 20 73 65 76 65 6e 20 6f 70 73 3d ing.one.two.three.six.seven.ops=
57200 30 0a 74 65 73 74 69 6e 67 20 74 68 61 74 20 73 65 6c 65 63 74 20 64 6f 65 73 6e 27 74 20 64 69 0.testing.that.select.doesn't.di
57220 73 74 75 72 62 65 20 6f 70 63 6f 75 6e 74 3a 20 6f 6b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 sturbe.opcount:.ok..............
57240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
572a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
572c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
572e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
573a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
573c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
573e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57400 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 38 61 66 66 65 63 74 65 64 72 6f 77 DB-1.3/tests/pgsql/08affectedrow
57420 73 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 s.phpt..........................
57440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
57480 20 20 20 31 34 30 34 20 20 37 35 31 31 30 36 34 36 34 30 20 20 31 32 36 36 35 20 00 00 00 00 00 ...1404..7511064640..12665......
574a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
574c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
574e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
575a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
575c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
575e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57600 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 61 66 66 65 63 74 65 64 52 6f 77 73 20 --TEST--.DB_pgsql::affectedRows.
57620 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 test.--SKIPIF--.<?php.include("s
57640 6b 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 kipif.inc");.?>.--FILE--.<?php.i
57660 6e 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 nclude("mktable.inc");.$dbh->que
57680 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 ry("INSERT.INTO.phptest.(a,b).VA
576a0 4c 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 LUES(1,.'test')");.$dbh->query("
576c0 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 INSERT.INTO.phptest.(a,b).VALUES
576e0 28 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 (2,.'test')");.printf("%d.after.
57700 69 6e 73 65 72 74 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 insert\n",.$dbh->affectedRows())
57720 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 70 68 70 ;.$dbh->query("SELECT.*.FROM.php
57740 74 65 73 74 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 73 65 6c 65 63 74 5c test");.printf("%d.after.select\
57760 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 24 64 62 68 2d n",.$dbh->affectedRows());.$dbh-
57780 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 74 20 57 48 45 52 >query("DELETE.FROM.phptest.WHER
577a0 45 20 62 20 3d 20 27 74 65 73 74 27 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 E.b.=.'test'");.printf("%d.after
577c0 20 64 65 6c 65 74 65 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 .delete\n",.$dbh->affectedRows()
577e0 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 );.$dbh->query("INSERT.INTO.phpt
57800 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 est.(a,b).VALUES(1,.'test')");.$
57820 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 dbh->query("INSERT.INTO.phptest.
57840 28 61 2c 62 29 20 56 41 4c 55 45 53 28 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 62 68 2d (a,b).VALUES(2,.'test')");.$dbh-
57860 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 74 22 29 3b 0a 70 >query("DELETE.FROM.phptest");.p
57880 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 6c 5c 6e 22 2c 20 24 rintf("%d.after.delete.all\n",.$
578a0 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 dbh->affectedRows());.?>.--EXPEC
578c0 54 2d 2d 0a 31 20 61 66 74 65 72 20 69 6e 73 65 72 74 0a 30 20 61 66 74 65 72 20 73 65 6c 65 63 T--.1.after.insert.0.after.selec
578e0 74 0a 32 20 61 66 74 65 72 20 64 65 6c 65 74 65 0a 33 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 t.2.after.delete.3.after.delete.
57900 61 6c 6c 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 all.............................
57920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
579a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
579c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
579e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57a00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 68 70 DB-1.3/tests/pgsql/09numrows.php
57a20 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
57a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
57a80 20 20 20 20 32 37 37 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 37 33 31 20 00 00 00 00 00 ....277..7467414726..11731......
57aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57c00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 6e 75 6d 52 6f 77 73 20 74 65 73 74 0a --TEST--.DB_pgsql::numRows.test.
57c20 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
57c40 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
57c60 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 ."connect.inc";.require."mktable
57c80 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 6e 75 6d 72 6f 77 73 2e 69 6e 63 22 3b .inc";.require."../numrows.inc";
57ca0 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 32 0a 30 0a 00 .?>.--EXPECT--.1.2.3.4.5.6.2.0..
57cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 33 6c 69 6d 69 74 2e 70 68 70 74 00 DB-1.3/tests/pgsql/13limit.phpt.
57e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
57e80 20 20 20 31 35 31 36 20 20 37 35 31 31 30 36 34 37 36 32 20 20 31 31 33 33 34 20 00 00 00 00 00 ...1516..7511064762..11334......
57ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 72 6f 77 20 6c 69 6d 69 74 0a 2d 2d 53 --TEST--.DB_pgsql::row.limit.--S
58020 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e KIPIF--.<?php.require."skipif.in
58040 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 27 63 c";.?>.--FILE--.<?php.require.'c
58060 6f 6e 6e 65 63 74 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 27 2e 2e 2f 6c 69 6d 69 74 2e 69 onnect.inc';.include.'../limit.i
58080 6e 63 27 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a nc';.?>.--EXPECT--.=======.From:
580a0 20 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 .0.||.Number.of.rows.to.fetch:.1
580c0 30 20 3d 3d 3d 3d 3d 3d 3d 0a 31 2e 2d 20 72 65 73 75 6c 74 20 30 0a 32 2e 2d 20 72 65 73 75 6c 0.=======.1.-.result.0.2.-.resul
580e0 74 20 31 0a 33 2e 2d 20 72 65 73 75 6c 74 20 32 0a 34 2e 2d 20 72 65 73 75 6c 74 20 33 0a 35 2e t.1.3.-.result.2.4.-.result.3.5.
58100 2d 20 72 65 73 75 6c 74 20 34 0a 36 2e 2d 20 72 65 73 75 6c 74 20 35 0a 37 2e 2d 20 72 65 73 75 -.result.4.6.-.result.5.7.-.resu
58120 6c 74 20 36 0a 38 2e 2d 20 72 65 73 75 6c 74 20 37 0a 39 2e 2d 20 72 65 73 75 6c 74 20 38 0a 31 lt.6.8.-.result.7.9.-.result.8.1
58140 30 2e 2d 20 72 65 73 75 6c 74 20 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 31 30 20 7c 7c 0.-.result.9.=======.From:.10.||
58160 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d .Number.of.rows.to.fetch:.10.===
58180 3d 3d 3d 3d 0a 31 31 2e 2d 20 72 65 73 75 6c 74 20 31 30 0a 31 32 2e 2d 20 72 65 73 75 6c 74 20 ====.11.-.result.10.12.-.result.
581a0 31 31 0a 31 33 2e 2d 20 72 65 73 75 6c 74 20 31 32 0a 31 34 2e 2d 20 72 65 73 75 6c 74 20 31 33 11.13.-.result.12.14.-.result.13
581c0 0a 31 35 2e 2d 20 72 65 73 75 6c 74 20 31 34 0a 31 36 2e 2d 20 72 65 73 75 6c 74 20 31 35 0a 31 .15.-.result.14.16.-.result.15.1
581e0 37 2e 2d 20 72 65 73 75 6c 74 20 31 36 0a 31 38 2e 2d 20 72 65 73 75 6c 74 20 31 37 0a 31 39 2e 7.-.result.16.18.-.result.17.19.
58200 2d 20 72 65 73 75 6c 74 20 31 38 0a 32 30 2e 2d 20 72 65 73 75 6c 74 20 31 39 0a 3d 3d 3d 3d 3d -.result.18.20.-.result.19.=====
58220 3d 3d 20 46 72 6f 6d 3a 20 32 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f ==.From:.20.||.Number.of.rows.to
58240 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a 32 31 2e 2d 20 72 65 73 75 6c 74 20 32 .fetch:.10.=======.21.-.result.2
58260 30 0a 32 32 2e 2d 20 72 65 73 75 6c 74 20 32 31 0a 32 33 2e 2d 20 72 65 73 75 6c 74 20 32 32 0a 0.22.-.result.21.23.-.result.22.
58280 32 34 2e 2d 20 72 65 73 75 6c 74 20 32 33 0a 32 35 2e 2d 20 72 65 73 75 6c 74 20 32 34 0a 32 36 24.-.result.23.25.-.result.24.26
582a0 2e 2d 20 72 65 73 75 6c 74 20 32 35 0a 32 37 2e 2d 20 72 65 73 75 6c 74 20 32 36 0a 32 38 2e 2d .-.result.25.27.-.result.26.28.-
582c0 20 72 65 73 75 6c 74 20 32 37 0a 32 39 2e 2d 20 72 65 73 75 6c 74 20 32 38 0a 33 30 2e 2d 20 72 .result.27.29.-.result.28.30.-.r
582e0 65 73 75 6c 74 20 32 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 33 30 20 7c 7c 20 4e 75 6d esult.29.=======.From:.30.||.Num
58300 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d ber.of.rows.to.fetch:.10.=======
58320 0a 33 31 2e 2d 20 72 65 73 75 6c 74 20 33 30 0a 33 32 2e 2d 20 72 65 73 75 6c 74 20 33 31 0a 33 .31.-.result.30.32.-.result.31.3
58340 33 2e 2d 20 72 65 73 75 6c 74 20 33 32 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3.-.result.32...................
58360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
583a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
583c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
583e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58400 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 35 73 65 71 75 65 6e 63 65 73 2e 70 DB-1.3/tests/pgsql/05sequences.p
58420 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hpt.............................
58440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
58480 20 20 20 20 33 30 35 20 20 37 35 31 31 30 36 34 37 33 31 20 20 31 32 31 36 31 20 00 00 00 00 00 ....305..7511064731..12161......
584a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
584c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
584e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
585a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
585c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
585e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58600 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 73 65 71 75 65 6e 63 65 73 0a 2d 2d 53 --TEST--.DB_pgsql::sequences.--S
58620 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e KIPIF--.<?php.require."skipif.in
58640 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 22 63 c";.?>.--FILE--.<?php.require."c
58660 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 73 65 71 75 65 6e 63 onnect.inc";.require."../sequenc
58680 65 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 44 42 20 45 72 72 6f 72 3a es.inc";.?>.--EXPECT--.DB.Error:
586a0 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 61 3d 31 0a 62 3d 32 0a 62 2d 61 3d 31 0a 63 3d 31 .no.such.table.a=1.b=2.b-a=1.c=1
586c0 0a 64 3d 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .d=1............................
586e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
587a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
587c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
587e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 37 65 72 72 6f 72 6e 61 74 69 76 65 DB-1.3/tests/pgsql/07errornative
58820 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .phpt...........................
58840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
58880 20 20 20 20 33 37 32 20 20 37 35 31 31 30 36 34 36 30 30 20 20 31 32 35 32 37 20 00 00 00 00 00 ....372..7511064600..12527......
588a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
588c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
588e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
589a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
589c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
589e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58a00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 65 72 72 6f 72 4e 61 74 69 76 65 20 74 --TEST--.DB_pgsql::errorNative.t
58a20 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b est.--SKIPIF--.<?php.include("sk
58a40 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e ipif.inc");.?>.--FILE--.<?php.in
58a60 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 clude("mktable.inc");.$dbh->quer
58a80 79 28 22 73 79 6e 74 61 78 20 65 72 72 6f 72 20 70 6c 65 61 73 65 22 29 3b 0a 70 72 69 6e 74 20 y("syntax.error.please");.print.
58aa0 24 64 62 68 2d 3e 65 72 72 6f 72 4e 61 74 69 76 65 28 29 20 2e 20 22 5c 6e 22 3b 0a 3f 3e 0a 2d $dbh->errorNative()..."\n";.?>.-
58ac0 2d 45 58 50 45 43 54 2d 2d 0a 45 52 52 4f 52 3a 20 20 70 61 72 73 65 72 3a 20 70 61 72 73 65 20 -EXPECT--.ERROR:..parser:.parse.
58ae0 65 72 72 6f 72 20 61 74 20 6f 72 20 6e 65 61 72 20 22 73 79 6e 74 61 78 22 0a 00 00 00 00 00 00 error.at.or.near."syntax".......
58b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58c00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 DB-1.3/tests/pgsql/01connect.php
58c20 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
58c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
58c80 20 20 20 20 34 34 36 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 31 36 33 36 20 00 00 00 00 00 ....446..7467414726..11636......
58ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58e00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 63 6f 6e 6e 65 63 74 20 74 65 73 74 0a --TEST--.DB_pgsql::connect.test.
58e20 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 --SKIPIF--.<?php.require."skipif
58e40 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 .inc";.?>.--FILE--.<?php.require
58e60 20 22 63 6f 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 ."connect.inc";.if.(is_object($d
58e80 62 68 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 69 73 20 61 6e 20 6f 62 bh)).{.....print."\$dbh.is.an.ob
58ea0 6a 65 63 74 5c 6e 22 3b 0a 7d 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 64 62 68 2d ject\n";.}.if.(is_resource($dbh-
58ec0 3e 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 >connection)).{.....print."\$dbh
58ee0 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 5c 6e 22 3b 0a 7d 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d .is.connected\n";.}.?>.--EXPECT-
58f00 2d 0a 24 64 62 68 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 0a 24 64 62 68 20 69 73 20 63 6f 6e 6e -.$dbh.is.an.object.$dbh.is.conn
58f20 65 63 74 65 64 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ected...........................
58f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59000 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 68 DB-1.3/tests/pgsql/10errormap.ph
59020 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
59040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
59080 20 20 20 31 33 34 35 20 20 37 35 31 31 30 36 34 37 34 31 20 20 31 32 30 33 37 20 00 00 00 00 00 ...1345..7511064741..12037......
590a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
590c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
590e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
591a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
591c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
591e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59200 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 65 72 72 6f 72 20 6d 61 70 70 69 6e 67 --TEST--.DB_pgsql::error.mapping
59220 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 .--SKIPIF--.<?php.require."skipi
59240 66 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 f.inc";.?>.--FILE--.<?php.requir
59260 65 20 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 3b 0a 2f 2f 20 54 68 65 20 44 42 5f 45 52 52 4f 52 e."mktable.inc";.//.The.DB_ERROR
59280 5f 43 4f 4e 53 54 52 41 49 4e 54 20 74 65 73 74 20 77 69 6c 6c 20 66 61 69 6c 20 6f 6e 20 50 6f _CONSTRAINT.test.will.fail.on.Po
592a0 73 74 67 72 65 53 51 4c 20 3c 20 37 2e 78 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 65 72 72 6f 72 stgreSQL.<.7.x.require."../error
592c0 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 54 72 79 69 6e 67 20 74 6f 20 s.inc";.?>.--EXPECT--.Trying.to.
592e0 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 provoke.DB_ERROR_NOSUCHTABLE...D
59300 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f B.Error:.no.such.table.Trying.to
59320 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 .provoke.DB_ERROR_ALREADY_EXISTS
59340 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 0a 54 72 79 69 ...DB.Error:.already.exists.Tryi
59360 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 ng.to.provoke.DB_ERROR_NOSUCHTAB
59380 4c 45 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 LE...DB.Error:.no.such.table.Try
593a0 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 ing.to.provoke.DB_ERROR_CONSTRAI
593c0 4e 54 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 63 6f 6e 73 74 72 61 69 6e 74 20 76 69 6f 6c 61 74 NT...DB.Error:.constraint.violat
593e0 69 6f 6e 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 44 ion.Trying.to.provoke.DB_ERROR_D
59400 49 56 5a 45 52 4f 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a IVZERO...DB.Error:.division.by.z
59420 65 72 6f 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 49 ero.Trying.to.provoke.DB_ERROR_I
59440 4e 56 41 4c 49 44 5f 4e 55 4d 42 45 52 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 69 6e 76 61 6c 69 NVALID_NUMBER...DB.Error:.invali
59460 64 20 6e 75 6d 62 65 72 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 d.number.Trying.to.provoke.DB_ER
59480 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 ROR_NOSUCHFIELD...DB.Error:.no.s
594a0 75 63 68 20 66 69 65 6c 64 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 uch.field.Trying.to.provoke.DB_E
594c0 52 52 4f 52 5f 53 59 4e 54 41 58 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 RROR_SYNTAX...DB.Error:.syntax.e
594e0 72 72 6f 72 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rror............................
59500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
595a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
595c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
595e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59600 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 70 DB-1.3/tests/pgsql/04numcols.php
59620 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............................
59640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
59680 20 20 20 20 32 34 33 20 20 37 35 31 31 30 36 34 35 34 33 20 20 31 31 36 34 37 20 00 00 00 00 00 ....243..7511064543..11647......
596a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
596c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
596e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
597a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
597c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
597e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59800 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 6e 75 6d 43 6f 6c 73 20 74 65 73 74 0a --TEST--.DB_pgsql::numCols.test.
59820 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 --SKIPIF--.<?php.include("skipif
59840 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 .inc");.?>.--FILE--.<?php.includ
59860 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 6e 75 e("mktable.inc");.include("../nu
59880 6d 63 6f 6c 73 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 mcols.inc");.?>.--EXPECT--.1.2.3
598a0 0a 34 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .4..............................
598c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
598e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
599a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
599c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
599e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59a00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 79 DB-1.3/tests/pgsql/03simplequery
59a20 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .phpt...........................
59a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
59a80 20 20 20 20 32 35 34 20 20 37 35 31 31 30 36 34 35 32 37 20 20 31 32 35 35 31 20 00 00 00 00 00 ....254..7511064527..12551......
59aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59c00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 73 69 6d 70 6c 65 51 75 65 72 79 20 74 --TEST--.DB_pgsql::simpleQuery.t
59c20 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b est.--SKIPIF--.<?php.include("sk
59c40 69 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e ipif.inc");.?>.--FILE--.<?php.in
59c60 63 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e clude("mktable.inc");.include(".
59c80 2e 2f 73 69 6d 70 6c 65 71 75 65 72 79 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 ./simplequery.inc");.?>.--EXPECT
59ca0 2d 2d 0a 72 65 73 6f 75 72 63 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 --.resource.....................
59cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59e00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 34 66 65 74 63 68 6d 6f 64 65 5f 6f DB-1.3/tests/pgsql/14fetchmode_o
59e20 62 6a 65 63 74 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bject.phpt......................
59e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
59e80 20 20 20 20 37 31 33 20 20 37 34 36 37 34 31 34 37 32 36 20 20 31 33 34 37 32 20 00 00 00 00 00 ....713..7467414726..13472......
59ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 66 65 74 63 68 6d 6f 64 65 20 6f 62 6a --TEST--.DB_pgsql::fetchmode.obj
5a020 65 63 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 72 65 71 75 69 72 65 20 22 73 6b ect.--SKIPIF--.<?php.require."sk
5a040 69 70 69 66 2e 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 ipif.inc";.?>.--FILE--.<?php.req
5a060 75 69 72 65 20 27 2e 2f 63 6f 6e 6e 65 63 74 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 27 2e uire.'./connect.inc';.include.'.
5a080 2e 2f 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 2e 69 6e 63 27 3b 0a 3f 3e 0a 2d 2d 45 58 ./fetchmode_object.inc';.?>.--EX
5a0a0 50 45 43 54 2d 2d 0a 2d 2d 2d 20 66 65 74 63 68 20 77 69 74 68 20 70 61 72 61 6d 20 44 42 5f 46 PECT--.---.fetch.with.param.DB_F
5a0c0 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 20 2d 2d 2d 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 ETCHMODE_OBJECT.---.stdClass.->.
5a0e0 61 20 62 20 63 20 64 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 2d 2d 2d 20 a.b.c.d.stdClass.->.a.b.c.d.---.
5a100 66 65 74 63 68 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 66 65 74 63 68 6d 6f 64 65 20 44 42 5f fetch.with.default.fetchmode.DB_
5a120 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 20 2d 2d 2d 0a 73 74 64 43 6c 61 73 73 20 2d 3e FETCHMODE_OBJECT.---.stdClass.->
5a140 20 61 20 62 20 63 20 64 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 2d 2d 2d .a.b.c.d.stdClass.->.a.b.c.d.---
5a160 20 66 65 74 63 68 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 66 65 74 63 68 6d 6f 64 65 20 44 42 .fetch.with.default.fetchmode.DB
5a180 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 20 61 6e 64 20 63 6c 61 73 73 20 44 42 5f 52 _FETCHMODE_OBJECT.and.class.DB_R
5a1a0 6f 77 20 2d 2d 2d 0a 64 62 5f 72 6f 77 20 2d 3e 20 61 20 62 20 63 20 64 0a 64 62 5f 72 6f 77 20 ow.---.db_row.->.a.b.c.d.db_row.
5a1c0 2d 3e 20 61 20 62 20 63 20 64 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ->.a.b.c.d......................
5a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 32 66 65 74 63 68 2e 70 68 70 74 00 DB-1.3/tests/pgsql/02fetch.phpt.
5a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5a280 20 20 20 31 37 31 32 20 20 37 35 31 31 30 36 34 37 31 33 20 20 31 31 32 37 37 20 00 00 00 00 00 ...1712..7511064713..11277......
5a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 3a 3a 66 65 74 63 68 20 74 65 73 74 0a 2d 2d --TEST--.DB_pgsql::fetch.test.--
5a420 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 SKIPIF--.<?php.include("skipif.i
5a440 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 28 nc");.?>.--FILE--.<?php.include(
5a460 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 "mktable.inc");.include("../fetc
5a480 68 72 6f 77 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 68 6d 6f 64 hrow.inc");.include("../fetchmod
5a4a0 65 73 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 es.inc");.?>.--EXPECT--.testing.
5a4c0 66 65 74 63 68 72 6f 77 3a 0a 72 6f 77 20 31 3a 20 34 32 2c 20 62 69 6e 67 2c 20 54 68 69 73 20 fetchrow:.row.1:.42,.bing,.This.
5a4e0 69 73 20 61 20 74 65 73 74 2c 20 31 31 2d 32 31 2d 31 39 39 39 0a 72 6f 77 20 32 3a 20 31 2c 20 is.a.test,.11-21-1999.row.2:.1,.
5a500 6f 6e 65 2c 20 4f 6e 65 2c 20 30 32 2d 31 36 2d 32 30 30 31 0a 72 6f 77 20 33 3a 20 32 2c 20 74 one,.One,.02-16-2001.row.3:.2,.t
5a520 77 6f 2c 20 54 77 6f 2c 20 30 32 2d 31 35 2d 32 30 30 31 0a 72 6f 77 20 34 3a 20 33 2c 20 74 68 wo,.Two,.02-15-2001.row.4:.3,.th
5a540 72 65 65 2c 20 54 68 72 65 65 2c 20 30 32 2d 31 34 2d 32 30 30 31 0a 72 6f 77 20 35 3a 20 4e 55 ree,.Three,.02-14-2001.row.5:.NU
5a560 4c 4c 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 LL.testing.fetchmodes:.fetchrow.
5a580 64 65 66 61 75 6c 74 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 default.default.0.1.2.3.testing.
5a5a0 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 64 65 66 61 75 6c 74 20 64 65 fetchmodes:.fetchinto.default.de
5a5c0 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 fault.0.1.2.3.testing.fetchmodes
5a5e0 3a 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 :.fetchrow.ordered.default.0.1.2
5a600 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 .3.testing.fetchmodes:.fetchrow.
5a620 61 73 73 6f 63 20 64 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 assoc.default.a.b.c.d.testing.fe
5a640 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 tchmodes:.fetchrow.ordered.defau
5a660 6c 74 20 77 69 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a lt.with.assoc.specified.a.b.c.d.
5a680 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 testing.fetchmodes:.fetchrow.ass
5a6a0 6f 63 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 oc.default.with.ordered.specifie
5a6c0 64 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 d.0.1.2.3.testing.fetchmodes:.fe
5a6e0 74 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a tchinto.ordered.default.0.1.2.3.
5a700 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 testing.fetchmodes:.fetchinto.as
5a720 73 6f 63 20 64 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 soc.default.a.b.c.d.testing.fetc
5a740 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c hmodes:.fetchinto.ordered.defaul
5a760 74 20 77 69 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a 74 t.with.assoc.specified.a.b.c.d.t
5a780 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 esting.fetchmodes:.fetchinto.ass
5a7a0 6f 63 20 64 65 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 oc.default.with.ordered.specifie
5a7c0 64 0a 30 20 31 20 32 20 33 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d.0.1.2.3.......................
5a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 36 70 72 65 70 65 78 65 63 2e 70 DB-1.3/tests/driver/06prepexec.p
5a820 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hpt.............................
5a840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5a880 20 20 20 20 35 31 32 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 32 31 36 32 20 00 00 00 00 00 ....512..7467414724..12162......
5a8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aa00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 70 72 65 70 61 72 65 2f 65 78 65 63 --TEST--.DB_driver::prepare/exec
5aa20 75 74 65 20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 ute.test.--SKIPIF--.<?php.chdir(
5aa40 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 dirname(__FILE__));.include("ski
5aa60 70 69 66 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 pif.inc");.?>.--FILE--.<?php.inc
5aa80 6c 75 64 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e lude("mktable.inc");.include("..
5aaa0 2f 70 72 65 70 65 78 65 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 73 74 /prepexe.inc");.?>.--EXPECT--.st
5aac0 68 31 2c 73 74 68 32 2c 73 74 68 33 20 63 72 65 61 74 65 64 0a 73 74 68 31 20 65 78 65 63 75 74 h1,sth2,sth3.created.sth1.execut
5aae0 65 64 0a 73 74 68 32 20 65 78 65 63 75 74 65 64 0a 73 74 68 33 20 65 78 65 63 75 74 65 64 0a 72 ed.sth2.executed.sth3.executed.r
5ab00 65 73 75 6c 74 73 3a 0a 37 32 20 2d 20 20 2d 20 20 2d 0a 37 32 20 2d 20 62 69 6e 67 20 2d 20 20 esults:.72.-..-..-.72.-.bing.-..
5ab20 2d 0a 37 32 20 2d 20 67 61 7a 6f 6e 6b 20 2d 20 6f 70 61 71 75 65 0a 70 6c 61 63 65 68 6f 6c 64 -.72.-.gazonk.-.opaque.placehold
5ab40 65 72 0a 74 65 73 74 20 2d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 er.test.-.......................
5ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 38 61 66 66 65 63 74 65 64 72 6f DB-1.3/tests/driver/08affectedro
5ac20 77 73 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ws.phpt.........................
5ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5ac80 20 20 20 32 30 37 31 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 33 30 34 37 20 00 00 00 00 00 ...2071..7467414724..13047......
5aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ae00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 61 66 66 65 63 74 65 64 52 6f 77 73 --TEST--.DB_driver::affectedRows
5ae20 20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 .test.--SKIPIF--.<?php.chdir(dir
5ae40 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 name(__FILE__));.include("skipif
5ae60 2e 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 .inc");.?>.--FILE--.<?php.includ
5ae80 65 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 2f 2f 20 43 6c 65 61 6e 20 74 61 62 6c 65 e("mktable.inc");.//.Clean.table
5aea0 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 .$dbh->query("DELETE.FROM.phptes
5aec0 74 22 29 3b 0a 0a 2f 2f 20 41 66 66 65 63 74 65 64 20 72 6f 77 73 20 62 79 20 49 4e 53 45 52 54 t");..//.Affected.rows.by.INSERT
5aee0 20 73 74 61 74 65 6d 65 6e 74 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 .statement.$dbh->query("INSERT.I
5af00 4e 54 4f 20 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 31 2c 20 27 74 65 73 NTO.phptest.(a,b).VALUES(1,.'tes
5af20 74 27 29 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 t')");.$dbh->query("INSERT.INTO.
5af40 70 68 70 74 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 32 2c 20 27 74 65 73 74 27 29 22 phptest.(a,b).VALUES(2,.'test')"
5af60 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 69 6e 73 65 72 74 5c 6e 22 2c 20 24 );.printf("%d.after.insert\n",.$
5af80 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 0a 2f 2f 20 41 66 66 65 63 74 dbh->affectedRows());..//.Affect
5afa0 65 64 20 72 6f 77 73 20 62 79 20 53 45 4c 45 43 54 20 73 74 61 74 65 6d 65 6e 74 0a 24 64 62 68 ed.rows.by.SELECT.statement.$dbh
5afc0 2d 3e 71 75 65 72 79 28 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 70 68 70 74 65 73 74 22 29 ->query("SELECT.*.FROM.phptest")
5afe0 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 73 65 6c 65 63 74 5c 6e 22 2c 20 24 64 ;.printf("%d.after.select\n",.$d
5b000 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 bh->affectedRows());.$dbh->query
5b020 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 70 68 70 74 65 73 74 20 57 48 45 52 45 20 62 20 3d 20 ("DELETE.FROM.phptest.WHERE.b.=.
5b040 27 74 65 73 74 27 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 64 65 6c 65 74 'test'");.printf("%d.after.delet
5b060 65 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 0a 2f 2f e\n",.$dbh->affectedRows());..//
5b080 20 41 66 66 65 63 74 65 64 20 72 6f 77 73 20 62 79 20 44 45 4c 45 54 45 20 73 74 61 74 65 6d 65 .Affected.rows.by.DELETE.stateme
5b0a0 6e 74 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 nt.$dbh->query("INSERT.INTO.phpt
5b0c0 65 73 74 20 28 61 2c 62 29 20 56 41 4c 55 45 53 28 31 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 est.(a,b).VALUES(1,.'test')");.$
5b0e0 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 68 70 74 65 73 74 20 dbh->query("INSERT.INTO.phptest.
5b100 28 61 2c 62 29 20 56 41 4c 55 45 53 28 32 2c 20 27 74 65 73 74 27 29 22 29 3b 0a 24 64 62 68 2d (a,b).VALUES(2,.'test')");.$dbh-
5b120 3e 73 65 74 4f 70 74 69 6f 6e 28 22 6f 70 74 69 6d 69 7a 65 22 2c 20 22 70 6f 72 74 61 62 69 6c >setOption("optimize",."portabil
5b140 69 74 79 22 29 3b 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 46 52 4f 4d 20 ity");.$dbh->query("DELETE.FROM.
5b160 70 68 70 74 65 73 74 22 29 3b 0a 70 72 69 6e 74 66 28 22 25 64 20 61 66 74 65 72 20 64 65 6c 65 phptest");.printf("%d.after.dele
5b180 74 65 20 61 6c 6c 20 28 6f 70 74 69 6d 69 7a 65 3d 25 73 29 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 te.all.(optimize=%s)\n",.$dbh->a
5b1a0 66 66 65 63 74 65 64 52 6f 77 73 28 29 2c 0a 20 20 20 20 20 20 20 24 64 62 68 2d 3e 67 65 74 4f ffectedRows(),........$dbh->getO
5b1c0 70 74 69 6f 6e 28 22 6f 70 74 69 6d 69 7a 65 22 29 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d ption("optimize"));.?>.--EXPECT-
5b1e0 2d 0a 31 20 61 66 74 65 72 20 69 6e 73 65 72 74 0a 30 20 61 66 74 65 72 20 73 65 6c 65 63 74 0a -.1.after.insert.0.after.select.
5b200 32 20 61 66 74 65 72 20 64 65 6c 65 74 65 0a 32 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 2.after.delete.2.after.delete.al
5b220 6c 20 28 6f 70 74 69 6d 69 7a 65 3d 70 6f 72 74 61 62 69 6c 69 74 79 29 0a 00 00 00 00 00 00 00 l.(optimize=portability)........
5b240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b400 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 68 DB-1.3/tests/driver/09numrows.ph
5b420 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
5b440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5b480 20 20 20 20 33 33 32 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 32 30 36 34 20 00 00 00 00 00 ....332..7467414724..12064......
5b4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b600 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 6e 75 6d 52 6f 77 73 20 74 65 73 74 --TEST--.DB_driver::numRows.test
5b620 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 .--SKIPIF--.<?php.chdir(dirname(
5b640 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 22 __FILE__));.require."skipif.inc"
5b660 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 22 63 6f 6e ;.?>.--FILE--.<?php.require."con
5b680 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 nect.inc";.require."mktable.inc"
5b6a0 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 6e 75 6d 72 6f 77 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d ;.require."../numrows.inc";.?>.-
5b6c0 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 32 0a 30 0a 00 00 00 00 00 00 -EXPECT--.1.2.3.4.5.6.2.0.......
5b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 33 6c 69 6d 69 74 2e 70 68 70 74 DB-1.3/tests/driver/13limit.phpt
5b820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5b880 20 20 20 31 35 35 31 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 31 35 30 37 20 00 00 00 00 00 ...1551..7467414724..11507......
5b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ba00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 72 6f 77 20 6c 69 6d 69 74 0a 2d 2d --TEST--.DB_driver::row.limit.--
5ba20 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 5f 5f 46 SKIPIF--.<?php.chdir(dirname(__F
5ba40 49 4c 45 5f 5f 29 29 3b 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 22 3b 20 3f ILE__));.require."skipif.inc";.?
5ba60 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 27 63 6f 6e 6e 65 63 >.--FILE--.<?php.require.'connec
5ba80 74 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 27 2e 2e 2f 6c 69 6d 69 74 2e 69 6e 63 27 3b 0a t.inc';.include.'../limit.inc';.
5baa0 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 30 20 7c 7c ?>.--EXPECT--.=======.From:.0.||
5bac0 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d .Number.of.rows.to.fetch:.10.===
5bae0 3d 3d 3d 3d 0a 31 2e 2d 20 72 65 73 75 6c 74 20 30 0a 32 2e 2d 20 72 65 73 75 6c 74 20 31 0a 33 ====.1.-.result.0.2.-.result.1.3
5bb00 2e 2d 20 72 65 73 75 6c 74 20 32 0a 34 2e 2d 20 72 65 73 75 6c 74 20 33 0a 35 2e 2d 20 72 65 73 .-.result.2.4.-.result.3.5.-.res
5bb20 75 6c 74 20 34 0a 36 2e 2d 20 72 65 73 75 6c 74 20 35 0a 37 2e 2d 20 72 65 73 75 6c 74 20 36 0a ult.4.6.-.result.5.7.-.result.6.
5bb40 38 2e 2d 20 72 65 73 75 6c 74 20 37 0a 39 2e 2d 20 72 65 73 75 6c 74 20 38 0a 31 30 2e 2d 20 72 8.-.result.7.9.-.result.8.10.-.r
5bb60 65 73 75 6c 74 20 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 31 30 20 7c 7c 20 4e 75 6d 62 esult.9.=======.From:.10.||.Numb
5bb80 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a er.of.rows.to.fetch:.10.=======.
5bba0 31 31 2e 2d 20 72 65 73 75 6c 74 20 31 30 0a 31 32 2e 2d 20 72 65 73 75 6c 74 20 31 31 0a 31 33 11.-.result.10.12.-.result.11.13
5bbc0 2e 2d 20 72 65 73 75 6c 74 20 31 32 0a 31 34 2e 2d 20 72 65 73 75 6c 74 20 31 33 0a 31 35 2e 2d .-.result.12.14.-.result.13.15.-
5bbe0 20 72 65 73 75 6c 74 20 31 34 0a 31 36 2e 2d 20 72 65 73 75 6c 74 20 31 35 0a 31 37 2e 2d 20 72 .result.14.16.-.result.15.17.-.r
5bc00 65 73 75 6c 74 20 31 36 0a 31 38 2e 2d 20 72 65 73 75 6c 74 20 31 37 0a 31 39 2e 2d 20 72 65 73 esult.16.18.-.result.17.19.-.res
5bc20 75 6c 74 20 31 38 0a 32 30 2e 2d 20 72 65 73 75 6c 74 20 31 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 ult.18.20.-.result.19.=======.Fr
5bc40 6f 6d 3a 20 32 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 om:.20.||.Number.of.rows.to.fetc
5bc60 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a 32 31 2e 2d 20 72 65 73 75 6c 74 20 32 30 0a 32 32 2e h:.10.=======.21.-.result.20.22.
5bc80 2d 20 72 65 73 75 6c 74 20 32 31 0a 32 33 2e 2d 20 72 65 73 75 6c 74 20 32 32 0a 32 34 2e 2d 20 -.result.21.23.-.result.22.24.-.
5bca0 72 65 73 75 6c 74 20 32 33 0a 32 35 2e 2d 20 72 65 73 75 6c 74 20 32 34 0a 32 36 2e 2d 20 72 65 result.23.25.-.result.24.26.-.re
5bcc0 73 75 6c 74 20 32 35 0a 32 37 2e 2d 20 72 65 73 75 6c 74 20 32 36 0a 32 38 2e 2d 20 72 65 73 75 sult.25.27.-.result.26.28.-.resu
5bce0 6c 74 20 32 37 0a 32 39 2e 2d 20 72 65 73 75 6c 74 20 32 38 0a 33 30 2e 2d 20 72 65 73 75 6c 74 lt.27.29.-.result.28.30.-.result
5bd00 20 32 39 0a 3d 3d 3d 3d 3d 3d 3d 20 46 72 6f 6d 3a 20 33 30 20 7c 7c 20 4e 75 6d 62 65 72 20 6f .29.=======.From:.30.||.Number.o
5bd20 66 20 72 6f 77 73 20 74 6f 20 66 65 74 63 68 3a 20 31 30 20 3d 3d 3d 3d 3d 3d 3d 0a 33 31 2e 2d f.rows.to.fetch:.10.=======.31.-
5bd40 20 72 65 73 75 6c 74 20 33 30 0a 33 32 2e 2d 20 72 65 73 75 6c 74 20 33 31 0a 33 33 2e 2d 20 72 .result.30.32.-.result.31.33.-.r
5bd60 65 73 75 6c 74 20 33 32 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 esult.32........................
5bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 35 73 65 71 75 65 6e 63 65 73 2e DB-1.3/tests/driver/05sequences.
5be20 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 phpt............................
5be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5be80 20 20 20 20 34 32 32 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 32 33 34 31 20 00 00 00 00 00 ....422..7467414724..12341......
5bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 73 65 71 75 65 6e 63 65 73 0a 2d 2d --TEST--.DB_driver::sequences.--
5c020 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 5f 5f 46 SKIPIF--.<?php.chdir(dirname(__F
5c040 49 4c 45 5f 5f 29 29 3b 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 22 3b 20 3f ILE__));.require."skipif.inc";.?
5c060 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 22 63 6f 6e 6e 65 63 >.--FILE--.<?php.require."connec
5c080 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 73 65 71 75 65 6e 63 65 73 2e 69 6e t.inc";.require."../sequences.in
5c0a0 63 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 c";.?>.--EXPECT--.DB.Error:.no.s
5c0c0 75 63 68 20 74 61 62 6c 65 0a 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c uch.table.DB.Error:.no.such.tabl
5c0e0 65 20 3c 2d 20 67 6f 6f 64 20 65 72 72 6f 72 20 63 61 74 63 68 65 64 0a 61 3d 31 0a 62 3d 32 0a e.<-.good.error.catched.a=1.b=2.
5c100 62 2d 61 3d 31 0a 63 3d 31 0a 64 3d 31 0a 65 3d 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b-a=1.c=1.d=1.e=1...............
5c120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c200 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 35 71 75 6f 74 65 2e 70 68 70 74 DB-1.3/tests/driver/15quote.phpt
5c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5c280 20 20 20 32 35 30 33 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 31 35 32 36 20 00 00 00 00 00 ...2503..7467414724..11526......
5c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c400 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 65 73 63 61 70 65 20 64 61 74 61 20 --TEST--.DB_driver::escape.data.
5c420 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e test.--SKIPIF--.<?php.chdir(dirn
5c440 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e ame(__FILE__));.include("skipif.
5c460 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 inc");.?>.--FILE--.<?php.include
5c480 20 27 2e 2f 63 6f 6e 6e 65 63 74 2e 69 6e 63 27 3b 0a 24 64 62 68 2d 3e 73 65 74 45 72 72 6f 72 .'./connect.inc';.$dbh->setError
5c4a0 48 61 6e 64 6c 69 6e 67 28 50 45 41 52 5f 45 52 52 4f 52 5f 43 41 4c 4c 42 41 43 4b 2c 20 27 64 Handling(PEAR_ERROR_CALLBACK,.'d
5c4c0 65 62 75 67 5f 64 69 65 27 29 3b 0a 0a 24 64 62 68 2d 3e 65 78 70 65 63 74 45 72 72 6f 72 28 44 ebug_die');..$dbh->expectError(D
5c4e0 42 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 29 3b 0a 24 64 62 68 2d 3e 71 B_ERROR_ALREADY_EXISTS);.$dbh->q
5c500 75 65 72 79 28 22 43 52 45 41 54 45 20 54 41 42 4c 45 20 70 65 61 72 71 75 6f 74 65 20 28 6e 20 uery("CREATE.TABLE.pearquote.(n.
5c520 46 4c 4f 41 54 2c 20 73 20 56 41 52 43 48 41 52 28 38 29 29 22 29 3b 0a 24 64 62 68 2d 3e 70 6f FLOAT,.s.VARCHAR(8))");.$dbh->po
5c540 70 45 78 70 65 63 74 28 29 3b 0a 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 44 45 4c 45 54 45 20 pExpect();..$dbh->query("DELETE.
5c560 46 52 4f 4d 20 70 65 61 72 71 75 6f 74 65 22 29 3b 0a 0a 24 73 74 72 69 6e 67 73 20 3d 20 61 72 FROM.pearquote");..$strings.=.ar
5c580 72 61 79 28 0a 20 20 20 20 22 27 22 2c 0d 0a 20 20 20 20 22 5c 22 22 2c 0d 0a 20 20 20 20 22 5c ray(....."'",......"\"",......"\
5c5a0 5c 22 2c 0d 0a 20 20 20 20 22 25 22 2c 0d 0a 20 20 20 20 22 5f 22 2c 0d 0a 20 20 20 20 22 27 27 \",......"%",......"_",......"''
5c5c0 22 2c 0d 0a 20 20 20 20 22 5c 22 5c 22 22 2c 0d 0a 20 20 20 20 22 5c 5c 5c 5c 22 2c 0d 0a 20 20 ",......"\"\"",......"\\\\",....
5c5e0 20 20 22 5c 5c 27 5c 5c 27 22 2c 0d 0a 20 20 20 20 22 5c 5c 5c 22 5c 5c 5c 22 22 0d 0a 29 3b 0a .."\\'\\'",......"\\\"\\\""..);.
5c600 24 6e 75 6d 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 31 35 36 2c 0a 20 20 20 20 31 32 2e 33 $nums.=.array(.....156,.....12.3
5c620 2c 0a 20 20 20 20 27 31 35 27 2c 0a 20 20 20 20 27 31 32 2e 33 27 0d 0a 29 3b 0a 0a 65 63 68 6f ,.....'15',.....'12.3'..);..echo
5c640 20 22 53 74 72 69 6e 67 20 65 73 63 61 70 65 20 74 65 73 74 3a 20 22 3b 0a 66 6f 72 65 61 63 68 ."String.escape.test:.";.foreach
5c660 20 28 24 73 74 72 69 6e 67 73 20 61 73 20 24 73 29 20 7b 0a 20 20 20 20 24 71 75 6f 74 65 64 20 .($strings.as.$s).{.....$quoted.
5c680 3d 20 24 64 62 68 2d 3e 71 75 6f 74 65 28 24 73 29 3b 0a 20 20 20 20 24 64 62 68 2d 3e 71 75 65 =.$dbh->quote($s);.....$dbh->que
5c6a0 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 65 61 72 71 75 6f 74 65 20 56 41 4c 55 45 53 ry("INSERT.INTO.pearquote.VALUES
5c6c0 20 28 31 2c 20 24 71 75 6f 74 65 64 29 22 29 3b 0a 7d 0a 24 64 69 66 66 20 3d 20 61 72 72 61 79 .(1,.$quoted)");.}.$diff.=.array
5c6e0 5f 64 69 66 66 28 24 73 74 72 69 6e 67 73 2c 20 24 72 65 73 20 3d 20 24 64 62 68 2d 3e 67 65 74 _diff($strings,.$res.=.$dbh->get
5c700 43 6f 6c 28 22 53 45 4c 45 43 54 20 73 20 46 52 4f 4d 20 70 65 61 72 71 75 6f 74 65 22 29 29 3b Col("SELECT.s.FROM.pearquote"));
5c720 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 69 66 66 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 65 63 68 .if.(count($diff).>.0).{.....ech
5c740 6f 20 22 46 41 49 4c 22 3b 0a 20 20 20 20 70 72 69 6e 74 5f 72 28 24 73 74 72 69 6e 67 73 29 3b o."FAIL";.....print_r($strings);
5c760 0a 20 20 20 20 70 72 69 6e 74 5f 72 28 24 72 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 20 20 20 .....print_r($res);.}.else.{....
5c780 20 65 63 68 6f 20 22 4f 4b 22 3b 0a 7d 0a 0a 24 64 62 68 2d 3e 71 75 65 72 79 28 22 44 45 4c 45 .echo."OK";.}..$dbh->query("DELE
5c7a0 54 45 20 46 52 4f 4d 20 70 65 61 72 71 75 6f 74 65 22 29 3b 0a 0a 65 63 68 6f 20 22 5c 6e 4e 75 TE.FROM.pearquote");..echo."\nNu
5c7c0 6d 62 65 72 20 65 73 63 61 70 65 20 74 65 73 74 3a 20 22 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e mber.escape.test:.";.foreach.($n
5c7e0 75 6d 73 20 61 73 20 24 6e 29 20 7b 0a 20 20 20 20 24 71 75 6f 74 65 64 20 3d 20 24 64 62 68 2d ums.as.$n).{.....$quoted.=.$dbh-
5c800 3e 71 75 6f 74 65 28 24 6e 29 3b 0a 20 20 20 20 24 64 62 68 2d 3e 71 75 65 72 79 28 22 49 4e 53 >quote($n);.....$dbh->query("INS
5c820 45 52 54 20 49 4e 54 4f 20 70 65 61 72 71 75 6f 74 65 20 56 41 4c 55 45 53 20 28 24 71 75 6f 74 ERT.INTO.pearquote.VALUES.($quot
5c840 65 64 2c 20 27 66 6f 6f 27 29 22 29 3b 0a 7d 0a 24 64 69 66 66 20 3d 20 61 72 72 61 79 5f 64 69 ed,.'foo')");.}.$diff.=.array_di
5c860 66 66 28 24 6e 75 6d 73 2c 20 24 72 65 73 20 3d 20 24 64 62 68 2d 3e 67 65 74 43 6f 6c 28 22 53 ff($nums,.$res.=.$dbh->getCol("S
5c880 45 4c 45 43 54 20 6e 20 46 52 4f 4d 20 70 65 61 72 71 75 6f 74 65 22 29 29 3b 0a 69 66 20 28 63 ELECT.n.FROM.pearquote"));.if.(c
5c8a0 6f 75 6e 74 28 24 64 69 66 66 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 65 63 68 6f 20 22 46 41 49 ount($diff).>.0).{.....echo."FAI
5c8c0 4c 22 3b 0a 20 20 20 20 70 72 69 6e 74 5f 72 28 24 6e 75 6d 73 29 3b 0a 20 20 20 20 70 72 69 6e L";.....print_r($nums);.....prin
5c8e0 74 5f 72 28 24 72 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 65 63 68 6f 20 22 4f 4b t_r($res);.}.else.{.....echo."OK
5c900 5c 6e 22 3b 0a 7d 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 53 74 72 69 6e 67 20 65 73 63 61 \n";.}.?>.--EXPECT--.String.esca
5c920 70 65 20 74 65 73 74 3a 20 4f 4b 0a 4e 75 6d 62 65 72 20 65 73 63 61 70 65 20 74 65 73 74 3a 20 pe.test:.OK.Number.escape.test:.
5c940 4f 4b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 OK..............................
5c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 DB-1.3/tests/driver/01connect.ph
5ca20 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
5ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5ca80 20 20 20 20 35 30 31 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 31 37 37 31 20 00 00 00 00 00 ....501..7467414724..11771......
5caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cc00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 63 6f 6e 6e 65 63 74 20 74 65 73 74 --TEST--.DB_driver::connect.test
5cc20 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 .--SKIPIF--.<?php.chdir(dirname(
5cc40 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 22 __FILE__));.require."skipif.inc"
5cc60 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 22 63 6f 6e ;.?>.--FILE--.<?php.require."con
5cc80 6e 65 63 74 2e 69 6e 63 22 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 62 68 29 29 20 nect.inc";.if.(is_object($dbh)).
5cca0 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 5c {.....print."\$dbh.is.an.object\
5ccc0 6e 22 3b 0a 7d 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 64 62 68 2d 3e 63 6f 6e 6e n";.}.if.(is_resource($dbh->conn
5cce0 65 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 70 72 69 6e 74 20 22 5c 24 64 62 68 20 69 73 20 63 ection)).{.....print."\$dbh.is.c
5cd00 6f 6e 6e 65 63 74 65 64 5c 6e 22 3b 0a 7d 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 24 64 62 onnected\n";.}.?>.--EXPECT--.$db
5cd20 68 20 69 73 20 61 6e 20 6f 62 6a 65 63 74 0a 24 64 62 68 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 h.is.an.object.$dbh.is.connected
5cd40 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ce00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 30 65 72 72 6f 72 6d 61 70 2e 70 DB-1.3/tests/driver/10errormap.p
5ce20 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hpt.............................
5ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ce60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5ce80 20 20 20 31 33 33 31 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 32 32 31 31 20 00 00 00 00 00 ...1331..7467414724..12211......
5cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d000 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 65 72 72 6f 72 20 6d 61 70 70 69 6e --TEST--.DB_driver::error.mappin
5d020 67 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e 61 6d 65 g.--SKIPIF--.<?php.chdir(dirname
5d040 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e 69 6e 63 (__FILE__));.require."skipif.inc
5d060 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 22 63 6f ";.?>.--FILE--.<?php.require."co
5d080 6e 6e 65 63 74 2e 69 6e 63 22 3b 0a 72 65 71 75 69 72 65 20 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 nnect.inc";.require."mktable.inc
5d0a0 22 3b 0a 72 65 71 75 69 72 65 20 22 2e 2e 2f 65 72 72 6f 72 73 2e 69 6e 63 22 3b 0a 3f 3e 0a 2d ";.require."../errors.inc";.?>.-
5d0c0 2d 45 58 50 45 43 54 2d 2d 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 -EXPECT--.Trying.to.provoke.DB_E
5d0e0 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 RROR_NOSUCHTABLE...DB.Error:.no.
5d100 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f such.table.Trying.to.provoke.DB_
5d120 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 45 58 49 53 54 53 0a 20 20 44 42 20 45 72 72 6f 72 3a ERROR_ALREADY_EXISTS...DB.Error:
5d140 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b .already.exists.Trying.to.provok
5d160 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 0a 20 20 44 42 20 45 72 72 6f e.DB_ERROR_NOSUCHTABLE...DB.Erro
5d180 72 3a 20 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f r:.no.such.table.Trying.to.provo
5d1a0 6b 65 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e 54 0a 20 20 44 42 20 45 72 72 6f ke.DB_ERROR_CONSTRAINT...DB.Erro
5d1c0 72 3a 20 63 6f 6e 73 74 72 61 69 6e 74 20 76 69 6f 6c 61 74 69 6f 6e 0a 54 72 79 69 6e 67 20 74 r:.constraint.violation.Trying.t
5d1e0 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 0a 20 20 44 42 20 o.provoke.DB_ERROR_DIVZERO...DB.
5d200 45 72 72 6f 72 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 54 72 79 69 6e 67 20 74 Error:.division.by.zero.Trying.t
5d220 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e 55 4d 42 45 o.provoke.DB_ERROR_INVALID_NUMBE
5d240 52 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 69 6e 76 61 6c 69 64 20 6e 75 6d 62 65 72 0a 54 72 79 R...DB.Error:.invalid.number.Try
5d260 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 ing.to.provoke.DB_ERROR_NOSUCHFI
5d280 45 4c 44 0a 20 20 44 42 20 45 72 72 6f 72 3a 20 6e 6f 20 73 75 63 68 20 66 69 65 6c 64 0a 54 72 ELD...DB.Error:.no.such.field.Tr
5d2a0 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f 6b 65 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 0a ying.to.provoke.DB_ERROR_SYNTAX.
5d2c0 20 20 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 72 72 6f 72 0a 00 00 00 00 00 00 00 ..DB.Error:.syntax.error........
5d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d400 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 68 DB-1.3/tests/driver/04numcols.ph
5d420 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt..............................
5d440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5d480 20 20 20 20 32 37 36 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 32 30 33 34 20 00 00 00 00 00 ....276..7467414724..12034......
5d4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d600 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 6e 75 6d 43 6f 6c 73 20 74 65 73 74 --TEST--.DB_driver::numCols.test
5d620 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 .--SKIPIF--.<?php.chdir(dirname(
5d640 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 6e 63 22 __FILE__));.include("skipif.inc"
5d660 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 28 22 6d 6b );.?>.--FILE--.<?php.include("mk
5d680 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 6e 75 6d 63 6f 6c 73 table.inc");.include("../numcols
5d6a0 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 0a 32 0a 33 0a 34 0a 00 00 .inc");.?>.--EXPECT--.1.2.3.4...
5d6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d800 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 33 73 69 6d 70 6c 65 71 75 65 72 DB-1.3/tests/driver/03simplequer
5d820 79 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 y.phpt..........................
5d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5d880 20 20 20 20 33 30 37 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 32 37 32 35 20 00 00 00 00 00 ....307..7467414724..12725......
5d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5da00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 73 69 6d 70 6c 65 51 75 65 72 79 20 --TEST--.DB_driver::simpleQuery.
5da20 74 65 73 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e test.--SKIPIF--.<?php.chdir(dirn
5da40 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e ame(__FILE__));.include("skipif.
5da60 69 6e 63 22 29 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 inc");.?>.--FILE--.<?php.include
5da80 28 22 6d 6b 74 61 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 73 69 6d ("mktable.inc");.include("../sim
5daa0 70 6c 65 71 75 65 72 79 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 72 65 plequery.inc");.?>.--EXPECT--.re
5dac0 73 6f 75 72 63 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 source..........................
5dae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5db00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5db20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5db40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5db60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5db80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dc00 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 34 66 65 74 63 68 6d 6f 64 65 5f DB-1.3/tests/driver/14fetchmode_
5dc20 6f 62 6a 65 63 74 2e 70 68 70 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 object.phpt.....................
5dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dc60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5dc80 20 20 20 20 37 34 36 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 33 36 34 33 20 00 00 00 00 00 ....746..7467414724..13643......
5dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5de00 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 66 65 74 63 68 6d 6f 64 65 20 6f 62 --TEST--.DB_driver::fetchmode.ob
5de20 6a 65 63 74 0a 2d 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e ject.--SKIPIF--.<?php.chdir(dirn
5de40 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 20 72 65 71 75 69 72 65 20 22 73 6b 69 70 69 66 2e ame(__FILE__));.require."skipif.
5de60 69 6e 63 22 3b 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 72 65 71 75 69 72 65 20 inc";.?>.--FILE--.<?php.require.
5de80 27 2e 2f 63 6f 6e 6e 65 63 74 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 27 2e 2e 2f 66 65 74 './connect.inc';.include.'../fet
5dea0 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 2e 69 6e 63 27 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d chmode_object.inc';.?>.--EXPECT-
5dec0 2d 0a 2d 2d 2d 20 66 65 74 63 68 20 77 69 74 68 20 70 61 72 61 6d 20 44 42 5f 46 45 54 43 48 4d -.---.fetch.with.param.DB_FETCHM
5dee0 4f 44 45 5f 4f 42 4a 45 43 54 20 2d 2d 2d 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 63 ODE_OBJECT.---.stdClass.->.a.b.c
5df00 20 64 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 2d 2d 2d 20 66 65 74 63 68 .d.stdClass.->.a.b.c.d.---.fetch
5df20 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 66 65 74 63 68 6d 6f 64 65 20 44 42 5f 46 45 54 43 48 .with.default.fetchmode.DB_FETCH
5df40 4d 4f 44 45 5f 4f 42 4a 45 43 54 20 2d 2d 2d 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 MODE_OBJECT.---.stdClass.->.a.b.
5df60 63 20 64 0a 73 74 64 43 6c 61 73 73 20 2d 3e 20 61 20 62 20 63 20 64 0a 2d 2d 2d 20 66 65 74 63 c.d.stdClass.->.a.b.c.d.---.fetc
5df80 68 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 66 65 74 63 68 6d 6f 64 65 20 44 42 5f 46 45 54 43 h.with.default.fetchmode.DB_FETC
5dfa0 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 20 61 6e 64 20 63 6c 61 73 73 20 44 42 5f 52 6f 77 20 2d 2d HMODE_OBJECT.and.class.DB_Row.--
5dfc0 2d 0a 64 62 5f 72 6f 77 20 2d 3e 20 61 20 62 20 63 20 64 0a 64 62 5f 72 6f 77 20 2d 3e 20 61 20 -.db_row.->.a.b.c.d.db_row.->.a.
5dfe0 62 20 63 20 64 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b.c.d...........................
5e000 44 42 2d 31 2e 33 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 32 66 65 74 63 68 2e 70 68 70 74 DB-1.3/tests/driver/02fetch.phpt
5e020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 20 20 20 30 20 00 20 20 20 20 20 30 20 00 20 20 20 20 ....100644.......0.......0......
5e080 20 20 20 31 37 34 35 20 20 37 34 36 37 34 31 34 37 32 34 20 20 31 31 34 36 35 20 00 00 00 00 00 ...1745..7467414724..11465......
5e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e200 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 64 72 69 76 65 72 3a 3a 66 65 74 63 68 20 74 65 73 74 0a 2d --TEST--.DB_driver::fetch.test.-
5e220 2d 53 4b 49 50 49 46 2d 2d 0a 3c 3f 70 68 70 20 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 5f 5f -SKIPIF--.<?php.chdir(dirname(__
5e240 46 49 4c 45 5f 5f 29 29 3b 20 69 6e 63 6c 75 64 65 28 22 73 6b 69 70 69 66 2e 69 6e 63 22 29 3b FILE__));.include("skipif.inc");
5e260 20 3f 3e 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 69 6e 63 6c 75 64 65 28 22 6d 6b 74 61 .?>.--FILE--.<?php.include("mkta
5e280 62 6c 65 2e 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 68 72 6f 77 2e ble.inc");.include("../fetchrow.
5e2a0 69 6e 63 22 29 3b 0a 69 6e 63 6c 75 64 65 28 22 2e 2e 2f 66 65 74 63 68 6d 6f 64 65 73 2e 69 6e inc");.include("../fetchmodes.in
5e2c0 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 c");.?>.--EXPECT--.testing.fetch
5e2e0 72 6f 77 3a 0a 72 6f 77 20 31 3a 20 34 32 2c 20 62 69 6e 67 2c 20 54 68 69 73 20 69 73 20 61 20 row:.row.1:.42,.bing,.This.is.a.
5e300 74 65 73 74 2c 20 31 39 39 39 2d 31 31 2d 32 31 0a 72 6f 77 20 32 3a 20 31 2c 20 6f 6e 65 2c 20 test,.1999-11-21.row.2:.1,.one,.
5e320 4f 6e 65 2c 20 32 30 30 31 2d 30 32 2d 31 36 0a 72 6f 77 20 33 3a 20 32 2c 20 74 77 6f 2c 20 54 One,.2001-02-16.row.3:.2,.two,.T
5e340 77 6f 2c 20 32 30 30 31 2d 30 32 2d 31 35 0a 72 6f 77 20 34 3a 20 33 2c 20 74 68 72 65 65 2c 20 wo,.2001-02-15.row.4:.3,.three,.
5e360 54 68 72 65 65 2c 20 32 30 30 31 2d 30 32 2d 31 34 0a 72 6f 77 20 35 3a 20 4e 55 4c 4c 0a 74 65 Three,.2001-02-14.row.5:.NULL.te
5e380 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 64 65 66 61 75 sting.fetchmodes:.fetchrow.defau
5e3a0 6c 74 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 lt.default.0.1.2.3.testing.fetch
5e3c0 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 64 65 66 61 75 6c 74 20 64 65 66 61 75 6c 74 modes:.fetchinto.default.default
5e3e0 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 .0.1.2.3.testing.fetchmodes:.fet
5e400 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 chrow.ordered.default.0.1.2.3.te
5e420 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 6f 63 sting.fetchmodes:.fetchrow.assoc
5e440 20 64 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f .default.a.b.c.d.testing.fetchmo
5e460 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 20 77 69 des:.fetchrow.ordered.default.wi
5e480 74 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 th.assoc.specified.a.b.c.d.testi
5e4a0 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 72 6f 77 20 61 73 73 6f 63 20 64 65 ng.fetchmodes:.fetchrow.assoc.de
5e4c0 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 0a 30 20 31 fault.with.ordered.specified.0.1
5e4e0 20 32 20 33 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e .2.3.testing.fetchmodes:.fetchin
5e500 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 0a 30 20 31 20 32 20 33 0a 74 65 73 74 69 to.ordered.default.0.1.2.3.testi
5e520 6e 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 6f 63 20 64 ng.fetchmodes:.fetchinto.assoc.d
5e540 65 66 61 75 6c 74 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e 67 20 66 65 74 63 68 6d 6f 64 65 efault.a.b.c.d.testing.fetchmode
5e560 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 6f 72 64 65 72 65 64 20 64 65 66 61 75 6c 74 20 77 69 74 s:.fetchinto.ordered.default.wit
5e580 68 20 61 73 73 6f 63 20 73 70 65 63 69 66 69 65 64 0a 61 20 62 20 63 20 64 0a 74 65 73 74 69 6e h.assoc.specified.a.b.c.d.testin
5e5a0 67 20 66 65 74 63 68 6d 6f 64 65 73 3a 20 66 65 74 63 68 69 6e 74 6f 20 61 73 73 6f 63 20 64 65 g.fetchmodes:.fetchinto.assoc.de
5e5c0 66 61 75 6c 74 20 77 69 74 68 20 6f 72 64 65 72 65 64 20 73 70 65 63 69 66 69 65 64 0a 30 20 31 fault.with.ordered.specified.0.1
5e5e0 20 32 20 33 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .2.3............................
5e600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................