summaryrefslogtreecommitdiff
path: root/pear/packages/DB-1.2.tar
blob: 7a9d1c0dddc54162c94ba3aaa92e671406a87d23 (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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
0080 20 20 32 34 33 32 30 20 20 37 34 36 36 34 36 37 33 31 36 20 20 20 36 34 31 33 20 00 00 00 00 00 ..24320..7466467316...6413......
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 61 20 44 42 20 73 74 79 6c 65 20 69 6e 74 65 72 66 61 63 .and.sybase.(a.DB.style.interfac
05a0 65 0a 74 6f 20 4c 44 41 50 20 73 65 72 76 65 72 73 20 69 73 20 61 6c 73 6f 20 61 76 61 69 62 6c e.to.LDAP.servers.is.also.avaibl
05c0 65 20 66 72 6f 6d 20 61 20 73 65 70 61 72 61 74 65 20 70 61 63 6b 61 67 65 29 2e 3c 2f 64 65 73 e.from.a.separate.package).</des
05e0 63 72 69 70 74 69 6f 6e 3e 0a 20 20 3c 6d 61 69 6e 74 61 69 6e 65 72 73 3e 0a 20 20 20 20 3c 6d cription>...<maintainers>.....<m
0600 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 20 20 3c 75 73 65 72 3e 73 73 62 3c 2f 75 73 65 72 aintainer>.......<user>ssb</user
0620 3e 0a 20 20 20 20 20 20 3c 6e 61 6d 65 3e 53 74 69 67 20 53 e6 74 68 65 72 20 42 61 6b 6b 65 6e >.......<name>Stig.S.ther.Bakken
0640 3c 2f 6e 61 6d 65 3e 0a 20 20 20 20 20 20 3c 65 6d 61 69 6c 3e 73 74 69 67 40 70 68 70 2e 6e 65 </name>.......<email>stig@php.ne
0660 74 3c 2f 65 6d 61 69 6c 3e 0a 20 20 20 20 20 20 3c 72 6f 6c 65 3e 6c 65 61 64 3c 2f 72 6f 6c 65 t</email>.......<role>lead</role
0680 3e 0a 20 20 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 3c 6d 61 69 6e 74 61 69 >.....</maintainer>.....<maintai
06a0 6e 65 72 3e 0a 20 20 20 20 20 20 3c 75 73 65 72 3e 63 6f 78 3c 2f 75 73 65 72 3e 0a 20 20 20 20 ner>.......<user>cox</user>.....
06c0 20 20 3c 6e 61 6d 65 3e 54 6f 6d 61 73 20 56 2e 56 2e 43 6f 78 3c 2f 6e 61 6d 65 3e 0a 20 20 20 ..<name>Tomas.V.V.Cox</name>....
06e0 20 20 20 3c 65 6d 61 69 6c 3e 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3c 2f 65 6d 61 69 6c ...<email>cox@idecnet.com</email
0700 3e 0a 20 20 20 20 20 20 3c 72 6f 6c 65 3e 64 65 76 65 6c 6f 70 65 72 3c 2f 72 6f 6c 65 3e 0a 20 >.......<role>developer</role>..
0720 20 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 73 ...</maintainer>...</maintainers
0740 3e 0a 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 20 20 20 3c 76 65 72 73 69 6f 6e 3e 31 2e 32 3c 2f >...<release>.....<version>1.2</
0760 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 3c 64 61 74 65 3e 32 30 30 32 2d 30 34 2d 32 34 3c 2f 64 version>.....<date>2002-04-24</d
0780 61 74 65 3e 0a 20 20 20 20 3c 6c 69 63 65 6e 73 65 3e 50 48 50 20 4c 69 63 65 6e 73 65 3c 2f 6c ate>.....<license>PHP.License</l
07a0 69 63 65 6e 73 65 3e 0a 20 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c 65 3c 2f 73 74 61 74 65 icense>.....<state>stable</state
07c0 3e 0a 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 65 6c 65 >.....<notes>First.packaged.rele
07e0 61 73 65 2e 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 ase.</notes>.....<filelist>.....
0800 20 20 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 ..<file.role="php".baseinstalldi
0820 72 3d 22 2f 22 20 6d 64 35 73 75 6d 3d 22 61 38 63 34 63 32 66 65 32 35 65 61 63 63 64 33 65 35 r="/".md5sum="a8c4c2fe25eaccd3e5
0840 30 37 62 39 63 30 30 61 34 62 36 65 62 36 22 20 6e 61 6d 65 3d 22 44 42 2e 70 68 70 22 2f 3e 0a 07b9c00a4b6eb6".name="DB.php"/>.
0860 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 38 ......<file.role="php".md5sum="8
0880 39 30 63 36 38 38 35 66 64 38 37 64 62 32 62 62 36 33 61 37 62 32 35 30 63 32 64 35 61 32 63 22 90c6885fd87db2bb63a7b250c2d5a2c"
08a0 20 6e 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 .name="DB/common.php"/>.......<f
08c0 69 6c 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 ile.role="php".md5sum="27fc79bae
08e0 61 34 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 a45344fbcf76257a617afdc".name="D
0900 42 2f 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 B/dbase.php"/>.......<file.role=
0920 22 70 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 "php".md5sum="faf1c4707d7740a38a
0940 62 65 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 be87cff73306db".name="DB/fbsql.p
0960 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
0980 73 75 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 sum="ff3d42ef0124754552b70c64217
09a0 66 32 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 f2950".name="DB/ibase.php"/>....
09c0 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 35 63 63 32 ...<file.role="php".md5sum="5cc2
09e0 62 62 37 65 61 35 65 31 34 36 37 66 35 36 30 32 62 33 30 63 30 66 39 34 36 31 35 39 22 20 6e 61 bb7ea5e1467f5602b30c0f946159".na
0a00 6d 65 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 me="DB/ifx.php"/>.......<file.ro
0a20 6c 65 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 le="php".md5sum="e19d73401cd8fd9
0a40 36 63 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 6c02eda0f46395910".name="DB/msql
0a60 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 20 6d .php"/>.......<file.role="php".m
0a80 64 35 73 75 6d 3d 22 30 65 33 65 37 35 63 38 34 30 61 61 33 35 31 38 66 66 38 31 66 63 35 34 64 d5sum="0e3e75c840aa3518ff81fc54d
0aa0 62 62 64 63 66 32 31 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 bbdcf21".name="DB/mssql.php"/>..
0ac0 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 64 63 .....<file.role="php".md5sum="dc
0ae0 65 63 31 39 37 32 39 66 38 61 63 62 61 33 61 63 36 38 31 62 32 65 30 64 35 35 61 66 65 65 22 20 ec19729f8acba3ac681b2e0d55afee".
0b00 6e 61 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 name="DB/mysql.php"/>.......<fil
0b20 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 6d 64 35 73 75 6d 3d 22 33 39 61 63 35 33 32 32 32 65 30 e.role="php".md5sum="39ac53222e0
0b40 30 32 39 32 38 36 35 65 37 65 38 31 33 35 37 37 63 31 35 32 36 22 20 6e 61 6d 65 3d 22 44 42 2f 0292865e7e813577c1526".name="DB/
0b60 6f 63 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 oci8.php"/>.......<file.role="ph
0b80 70 22 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 p".md5sum="555b7482b4d9c4df5703f
0ba0 38 39 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 8934848d60f".name="DB/odbc.php"/
0bc0 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 6d 3d >.......<file.role="php".md5sum=
0be0 22 31 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 "1cb9e97c8af3b3c68b5d784c7238335
0c00 66 22 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 f".name="DB/pgsql.php"/>.......<
0c20 66 69 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 file.role="php".md5sum="4048c987
0c40 63 33 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 c3c6170be5a002971d82b23c".name="
0c60 44 42 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 DB/sybase.php"/>.......<file.rol
0c80 65 3d 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 e="php".md5sum="d4a01049f3741249
0ca0 31 62 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 1b961baae76c3603".name="DB/stora
0cc0 67 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 64 61 74 61 ge.php"/>.......<file.role="data
0ce0 22 20 6d 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 ".md5sum="651a644b6f3495fc39279d
0d00 37 35 62 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 75b8099372".name="DB/IDEAS"/>...
0d20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 64 61 74 61 22 20 6d 64 35 73 75 6d 3d 22 36 39 ....<file.role="data".md5sum="69
0d40 61 38 37 37 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 a87789f424b3c570d0642cf38d7518".
0d60 6e 61 6d 65 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 name="DB/MAINTAINERS"/>.......<f
0d80 69 6c 65 20 72 6f 6c 65 3d 22 64 61 74 61 22 20 6d 64 35 73 75 6d 3d 22 35 33 31 39 37 39 39 64 ile.role="data".md5sum="5319799d
0da0 34 30 37 39 32 63 38 66 35 63 33 35 66 63 34 36 36 66 64 34 39 61 63 65 22 20 6e 61 6d 65 3d 22 40792c8f5c35fc466fd49ace".name="
0dc0 44 42 2f 53 54 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 DB/STATUS"/>.......<file.role="d
0de0 61 74 61 22 20 6d 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 ata".md5sum="6c4b230f646b3ef8cfb
0e00 34 33 64 64 31 37 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 43dd174e52d57".name="DB/TESTERS"
0e20 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
0e40 6d 3d 22 30 39 37 36 31 62 65 33 34 64 38 38 34 64 65 32 65 31 38 34 64 38 63 64 39 37 62 30 63 m="09761be34d884de2e184d8cd97b0c
0e60 61 37 39 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 62 5f 65 72 72 6f 72 2e 70 68 70 a79".name="DB/tests/db_error.php
0e80 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
0ea0 73 75 6d 3d 22 66 30 65 64 38 61 34 35 66 62 30 65 37 64 64 64 61 30 65 64 34 36 62 33 34 32 37 sum="f0ed8a45fb0e7ddda0ed46b3427
0ec0 34 65 34 66 64 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 62 5f 70 61 72 73 65 64 73 4e4fd".name="DB/tests/db_parseds
0ee0 6e 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 n.phpt"/>.......<file.role="test
0f00 22 20 6d 64 35 73 75 6d 3d 22 64 64 34 64 65 32 37 64 39 35 65 38 37 32 66 36 33 65 30 30 35 34 ".md5sum="dd4de27d95e872f63e0054
0f20 61 32 34 30 61 38 38 66 61 31 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 62 5f 66 61 a240a88fa1".name="DB/tests/db_fa
0f40 63 74 6f 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 65 3d 22 ctory.phpt"/>.......<file.role="
0f60 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 39 64 65 39 32 36 62 66 35 36 36 38 65 31 39 31 30 61 test".md5sum="9de926bf5668e1910a
0f80 39 35 66 39 39 39 64 32 63 62 65 65 65 36 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 95f999d2cbeee6".name="DB/tests/d
0fa0 62 5f 69 73 6d 61 6e 69 70 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f b_ismanip.phpt"/>.......<file.ro
0fc0 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 30 36 63 34 35 37 34 32 62 35 63 37 66 36 le="test".md5sum="06c45742b5c7f6
0fe0 65 33 38 38 66 35 65 34 63 61 64 35 66 35 35 34 34 64 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 e388f5e4cad5f5544d".name="DB/tes
1000 74 73 2f 64 62 5f 65 72 72 6f 72 32 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 ts/db_error2.phpt"/>.......<file
1020 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 33 36 38 38 36 37 30 64 65 31 35 .role="test".md5sum="3688670de15
1040 34 63 64 38 30 37 66 64 33 33 64 36 33 61 36 65 30 64 35 30 63 22 20 6e 61 6d 65 3d 22 44 42 2f 4cd807fd33d63a6e0d50c".name="DB/
1060 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 74 22 2f 3e 0a 20 20 tests/oci8/06prepexec.phpt"/>...
1080 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 35 66 ....<file.role="test".md5sum="5f
10a0 34 66 36 66 38 30 35 31 39 37 32 33 34 34 64 66 36 65 63 32 39 36 66 30 62 61 34 31 65 37 22 20 4f6f8051972344df6ec296f0ba41e7".
10c0 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 38 61 66 66 65 63 74 65 64 72 6f name="DB/tests/oci8/08affectedro
10e0 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 22 74 65 73 ws.phpt"/>.......<file.role="tes
1100 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 64 64 61 30 34 t".md5sum="5ccaa73b3fccabbbdda04
1120 34 37 39 65 34 32 63 63 33 30 66 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 479e42cc30f".name="DB/tests/oci8
1140 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 20 72 /09numrows.phpt"/>.......<file.r
1160 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 38 32 ole="test".md5sum="927bc77a9fc82
1180 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 44 42 2f 74 65 6cdc376c685aa9a2f98".name="DB/te
11a0 73 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 sts/oci8/13limit.phpt"/>.......<
11c0 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 61 66 36 31 66 31 65 file.role="test".md5sum="af61f1e
11e0 39 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 99161b879d41a2a12aa79d41f".name=
1200 22 44 42 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 70 74 22 "DB/tests/oci8/05sequences.phpt"
1220 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
1240 6d 3d 22 36 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 m="60aa3ca06e928121e85065dfe30ca
1260 64 31 36 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 37 65 72 72 6f 72 d16".name="DB/tests/oci8/07error
1280 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 6c 65 3d native.phpt"/>.......<file.role=
12a0 22 74 65 73 74 22 20 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 "test".md5sum="b56345d3608704ef4
12c0 32 63 64 38 38 35 61 39 37 39 65 38 32 66 32 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 2cd885a979e82f2".name="DB/tests/
12e0 6f 63 69 38 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 oci8/01connect.phpt"/>.......<fi
1300 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 62 38 39 61 61 61 66 31 36 le.role="test".md5sum="b89aaaf16
1320 32 34 61 30 30 65 38 39 62 38 31 30 37 30 66 65 61 64 39 61 31 65 64 22 20 6e 61 6d 65 3d 22 44 24a00e89b81070fead9a1ed".name="D
1340 42 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 74 22 2f 3e 0a B/tests/oci8/10errormap.phpt"/>.
1360 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="
1380 34 38 61 61 61 39 30 38 64 30 38 34 38 32 61 34 31 61 30 39 34 39 34 38 62 62 36 61 36 35 63 34 48aaa908d08482a41a094948bb6a65c4
13a0 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 34 6e 75 6d 63 6f 6c 73 2e ".name="DB/tests/oci8/04numcols.
13c0 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".
13e0 6d 64 35 73 75 6d 3d 22 62 33 35 34 61 30 39 33 30 31 34 37 66 31 33 62 64 31 37 63 39 31 38 63 md5sum="b354a0930147f13bd17c918c
1400 62 30 38 65 30 38 61 36 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 33 b08e08a6".name="DB/tests/oci8/03
1420 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 6c 65 20 simplequery.phpt"/>.......<file.
1440 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 36 35 62 39 32 35 30 33 35 31 38 61 role="test".md5sum="65b92503518a
1460 30 34 37 62 35 36 64 32 36 66 63 37 37 61 35 32 32 34 38 38 22 20 6e 61 6d 65 3d 22 44 42 2f 74 047b56d26fc77a522488".name="DB/t
1480 65 73 74 73 2f 6f 63 69 38 2f 30 32 66 65 74 63 68 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 ests/oci8/02fetch.phpt"/>.......
14a0 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 35 37 35 30 37 33 <file.role="test".md5sum="575073
14c0 61 37 34 31 63 62 39 62 31 65 31 38 39 61 62 32 39 32 35 35 37 32 30 66 34 31 22 20 6e 61 6d 65 a741cb9b1e189ab29255720f41".name
14e0 3d 22 44 42 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 74 22 ="DB/tests/odbc/06prepexec.phpt"
1500 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
1520 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 34 34 30 64 63 39 35 m="b730dcba22355f9ddae198440dc95
1540 32 66 31 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 39 6e 75 6d 72 6f 2f1".name="DB/tests/odbc/09numro
1560 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 22 74 65 73 ws.phpt"/>.......<file.role="tes
1580 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 37 34 35 66 t".md5sum="248e2a07b05faee94745f
15a0 39 31 64 35 62 63 61 35 30 36 39 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 91d5bca5069".name="DB/tests/odbc
15c0 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 69 /07errornative.phpt"/>.......<fi
15e0 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 38 le.role="test".md5sum="3e5b85738
1600 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 44 339fba3fc7b80d6a99637da".name="D
1620 42 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 22 2f 3e 0a 20 B/tests/odbc/01connect.phpt"/>..
1640 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
1660 37 61 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 7a387497df8cd6c81475e24dbd002a6"
1680 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 31 30 65 72 72 6f 72 6d 61 70 2e .name="DB/tests/odbc/10errormap.
16a0 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".
16c0 6d 64 35 73 75 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 md5sum="0edff94bb81f80cdca526586
16e0 37 65 37 61 30 62 37 39 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 34 7e7a0b79".name="DB/tests/odbc/04
1700 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 6c 65 numcols.phpt"/>.......<file.role
1720 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 31 30 63 39 33 38 62 62 39 62 62 62 38 34 66 39 ="test".md5sum="10c938bb9bbb84f9
1740 63 38 38 33 65 34 62 35 33 66 65 38 33 34 62 33 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 c883e4b53fe834b3".name="DB/tests
1760 2f 6f 64 62 63 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 /odbc/03simplequery.phpt"/>.....
1780 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 63 62 35 34 ..<file.role="test".md5sum="cb54
17a0 39 35 36 37 61 35 32 38 62 30 65 39 65 31 38 65 32 33 64 38 36 65 39 65 37 37 64 36 22 20 6e 61 9567a528b0e9e18e23d86e9e77d6".na
17c0 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 32 66 65 74 63 68 2e 70 68 70 74 22 2f me="DB/tests/odbc/02fetch.phpt"/
17e0 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 6d >.......<file.role="test".md5sum
1800 3d 22 35 31 38 32 65 63 62 31 39 35 65 34 34 32 32 31 66 65 37 63 63 36 31 38 64 61 35 66 62 36 ="5182ecb195e44221fe7cc618da5fb6
1820 35 33 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 36 70 72 65 70 65 53".name="DB/tests/ibase/06prepe
1840 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 65 3d 22 74 65 xec.phpt"/>.......<file.role="te
1860 73 74 22 20 6d 64 35 73 75 6d 3d 22 65 30 38 64 65 35 37 33 65 62 35 39 30 34 66 35 66 62 61 35 st".md5sum="e08de573eb5904f5fba5
1880 36 30 66 64 66 66 34 33 61 31 65 64 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 69 62 61 60fdff43a1ed".name="DB/tests/iba
18a0 73 65 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 se/05sequences.phpt"/>.......<fi
18c0 6c 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 35 39 64 66 37 66 65 34 35 le.role="test".md5sum="59df7fe45
18e0 32 34 38 31 33 37 39 30 34 32 37 33 61 63 33 32 31 65 31 62 30 64 38 22 20 6e 61 6d 65 3d 22 44 248137904273ac321e1b0d8".name="D
1900 42 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 74 22 2f 3e 0a B/tests/ibase/01connect.phpt"/>.
1920 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="
1940 32 35 64 62 31 31 30 34 65 34 64 37 66 61 65 63 66 65 30 30 33 36 39 36 63 62 33 32 30 62 35 34 25db1104e4d7faecfe003696cb320b54
1960 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 31 30 65 72 72 6f 72 6d 61 ".name="DB/tests/ibase/10errorma
1980 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 73 74 p.phpt"/>.......<file.role="test
19a0 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 62 63 35 66 33 36 ".md5sum="ffb4a94f3a3ccbd3bc5f36
19c0 64 61 38 63 38 39 62 61 32 39 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 da8c89ba29".name="DB/tests/ibase
19e0 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
1a00 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 38 65 30 ole="test".md5sum="85bb4e85468e0
1a20 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 44 42 2f 74 65 88ae866add3039dc0e3".name="DB/te
1a40 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"/>.
1a60 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="
1a80 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
1aa0 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 32 66 65 74 63 68 2e 70 ".name="DB/tests/ibase/02fetch.p
1ac0 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
1ae0 64 35 73 75 6d 3d 22 62 38 65 31 65 62 36 34 37 66 36 34 32 30 63 64 63 61 35 39 31 35 61 39 34 d5sum="b8e1eb647f6420cdca5915a94
1b00 32 62 33 37 63 61 63 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 36 2b37cac".name="DB/tests/mysql/06
1b20 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
1b40 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 66 64 66 62 30 31 32 37 30 64 63 64 34 30 33 e="test".md5sum="fdfb01270dcd403
1b60 65 35 32 62 35 66 33 61 64 35 35 64 32 39 33 33 65 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 e52b5f3ad55d2933e".name="DB/test
1b80 73 2f 6d 79 73 71 6c 2f 30 38 61 66 66 65 63 74 65 64 72 6f 77 73 2e 70 68 70 74 22 2f 3e 0a 20 s/mysql/08affectedrows.phpt"/>..
1ba0 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 32 .....<file.role="test".md5sum="2
1bc0 30 38 31 30 37 61 37 38 64 34 66 39 38 61 30 37 66 36 31 31 37 64 61 35 38 32 32 31 62 62 63 22 08107a78d4f98a07f6117da58221bbc"
1be0 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 39 6e 75 6d 72 6f 77 73 2e .name="DB/tests/mysql/09numrows.
1c00 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".
1c20 6d 64 35 73 75 6d 3d 22 36 65 39 37 63 62 63 63 34 37 66 66 32 37 37 62 62 32 31 63 34 30 34 65 md5sum="6e97cbcc47ff277bb21c404e
1c40 62 64 33 62 31 35 34 30 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 bd3b1540".name="DB/tests/mysql/1
1c60 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=
1c80 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 66 33 63 39 61 34 34 65 32 30 38 63 64 34 64 35 61 "test".md5sum="f3c9a44e208cd4d5a
1ca0 64 33 31 65 31 33 61 62 64 32 32 66 62 62 61 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f d31e13abd22fbba".name="DB/tests/
1cc0 6d 79 73 71 6c 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 mysql/05sequences.phpt"/>.......
1ce0 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 62 63 38 64 34 35 <file.role="test".md5sum="bc8d45
1d00 37 36 32 65 34 37 61 34 63 62 66 65 36 35 30 32 32 37 63 36 34 36 63 31 39 64 22 20 6e 61 6d 65 762e47a4cbfe650227c646c19d".name
1d20 3d 22 44 42 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 2e 70 ="DB/tests/mysql/07errornative.p
1d40 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
1d60 64 35 73 75 6d 3d 22 63 35 35 62 63 37 35 63 32 34 63 33 37 30 66 62 33 62 37 62 36 62 66 37 63 d5sum="c55bc75c24c370fb3b7b6bf7c
1d80 35 35 64 65 62 37 38 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 32 55deb78".name="DB/tests/mysql/12
1da0 74 61 62 6c 65 69 6e 66 6f 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f tableinfo.phpt"/>.......<file.ro
1dc0 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 63 61 37 65 65 66 65 64 62 65 66 62 63 66 le="test".md5sum="ca7eefedbefbcf
1de0 31 62 31 32 32 63 38 63 39 33 30 66 35 30 31 65 32 61 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 1b122c8c930f501e2a".name="DB/tes
1e00 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 20 20 20 20 20 ts/mysql/01connect.phpt"/>......
1e20 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 32 34 66 32 .<file.role="test".md5sum="d24f2
1e40 34 36 65 30 63 61 39 62 35 33 37 63 62 66 62 34 66 61 61 37 38 61 35 39 34 33 64 22 20 6e 61 6d 46e0ca9b537cbfb4faa78a5943d".nam
1e60 65 3d 22 44 42 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 70 e="DB/tests/mysql/10errormap.php
1e80 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
1ea0 73 75 6d 3d 22 62 38 34 65 31 35 33 33 35 37 34 37 65 63 34 38 65 33 63 32 33 65 34 32 64 37 65 sum="b84e15335747ec48e3c23e42d7e
1ec0 39 66 38 32 35 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 34 6e 75 9f825".name="DB/tests/mysql/04nu
1ee0 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 6c 65 3d 22 mcols.phpt"/>.......<file.role="
1f00 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 63 33 31 61 63 63 63 65 63 35 36 36 62 37 38 63 61 64 test".md5sum="c31acccec566b78cad
1f20 30 64 64 32 37 33 63 61 62 39 64 33 39 30 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6d 0dd273cab9d390".name="DB/tests/m
1f40 79 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 20 ysql/03simplequery.phpt"/>......
1f60 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 66 66 32 37 .<file.role="test".md5sum="1ff27
1f80 35 33 34 66 38 63 30 64 39 64 37 37 35 63 39 61 30 34 63 34 33 34 31 32 32 62 37 22 20 6e 61 6d 534f8c0d9d775c9a04c434122b7".nam
1fa0 65 3d 22 44 42 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 62 e="DB/tests/mysql/14fetchmode_ob
1fc0 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 74 ject.phpt"/>.......<file.role="t
1fe0 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 30 35 61 62 63 37 66 65 39 33 36 31 31 38 37 38 64 65 37 est".md5sum="05abc7fe93611878de7
2000 34 61 64 39 61 38 61 64 32 36 32 33 61 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 6d 79 4ad9a8ad2623a".name="DB/tests/my
2020 73 71 6c 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 sql/02fetch.phpt"/>.......<file.
2040 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 32 37 30 39 66 62 30 33 38 35 32 34 role="test".md5sum="2709fb038524
2060 32 61 66 34 61 35 31 64 32 35 37 30 66 63 38 64 31 38 65 66 22 20 6e 61 6d 65 3d 22 44 42 2f 74 2af4a51d2570fc8d18ef".name="DB/t
2080 65 73 74 73 2f 70 67 73 71 6c 2f 30 36 70 72 65 70 65 78 65 63 2e 70 68 70 74 22 2f 3e 0a 20 20 ests/pgsql/06prepexec.phpt"/>...
20a0 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 34 32 ....<file.role="test".md5sum="42
20c0 37 30 37 33 38 30 33 36 62 36 35 39 65 38 66 66 34 65 64 34 37 65 65 30 61 30 34 37 32 31 22 20 70738036b659e8ff4ed47ee0a04721".
20e0 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 31 74 72 61 6e 73 61 63 74 2e name="DB/tests/pgsql/11transact.
2100 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".
2120 6d 64 35 73 75 6d 3d 22 31 37 37 33 39 61 64 30 32 37 36 30 39 35 39 38 63 64 31 63 33 30 34 39 md5sum="17739ad027609598cd1c3049
2140 31 38 37 65 65 61 34 63 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 187eea4c".name="DB/tests/pgsql/0
2160 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
2180 65 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 36 37 35 35 39 36 65 61 62 38 e.role="test".md5sum="675596eab8
21a0 34 35 39 61 37 65 61 31 30 35 66 30 66 35 39 61 39 30 35 30 61 38 22 20 6e 61 6d 65 3d 22 44 42 459a7ea105f0f59a9050a8".name="DB
21c0 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 74 22 2f 3e 0a 20 /tests/pgsql/09numrows.phpt"/>..
21e0 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 32 .....<file.role="test".md5sum="2
2200 66 61 64 62 34 31 34 66 34 38 38 34 66 62 38 31 37 32 37 65 39 36 31 66 62 36 63 31 62 34 61 22 fadb414f4884fb81727e961fb6c1b4a"
2220 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 33 6c 69 6d 69 74 2e 70 68 .name="DB/tests/pgsql/13limit.ph
2240 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
2260 35 73 75 6d 3d 22 66 37 35 33 64 39 63 32 62 65 62 38 37 32 65 39 66 61 64 66 37 38 38 32 31 39 5sum="f753d9c2beb872e9fadf788219
2280 65 38 37 31 65 63 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 35 73 e871ec".name="DB/tests/pgsql/05s
22a0 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 20 72 6f 6c equences.phpt"/>.......<file.rol
22c0 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 37 34 63 39 62 34 63 34 38 65 32 66 34 65 30 e="test".md5sum="74c9b4c48e2f4e0
22e0 35 33 62 31 39 34 65 38 38 65 35 30 33 62 31 34 64 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 53b194e88e503b14d".name="DB/test
2300 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 20 s/pgsql/07errornative.phpt"/>...
2320 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 31 ....<file.role="test".md5sum="11
2340 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 20 260a57667daecd63374466f0b4be77".
2360 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 name="DB/tests/pgsql/01connect.p
2380 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
23a0 64 35 73 75 6d 3d 22 35 37 37 64 61 34 34 39 66 37 33 32 65 33 30 39 30 32 63 64 66 39 61 63 39 d5sum="577da449f732e30902cdf9ac9
23c0 66 66 38 35 36 30 61 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 30 ff8560a".name="DB/tests/pgsql/10
23e0 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 6f 6c errormap.phpt"/>.......<file.rol
2400 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 36 61 37 33 33 63 39 33 36 63 33 62 39 33 36 e="test".md5sum="6a733c936c3b936
2420 37 61 34 33 37 61 36 37 36 31 61 66 64 33 38 31 34 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 7a437a6761afd3814".name="DB/test
2440 73 2f 70 67 73 71 6c 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 s/pgsql/04numcols.phpt"/>.......
2460 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 32 65 37 38 34 32 <file.role="test".md5sum="2e7842
2480 62 37 36 63 32 31 39 61 36 30 61 61 34 61 36 31 30 34 34 64 30 63 33 61 37 36 22 20 6e 61 6d 65 b76c219a60aa4a61044d0c3a76".name
24a0 3d 22 44 42 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 2e 70 ="DB/tests/pgsql/03simplequery.p
24c0 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
24e0 64 35 73 75 6d 3d 22 39 61 31 62 32 62 33 64 65 37 64 62 33 63 64 31 64 36 30 30 30 33 64 65 36 d5sum="9a1b2b3de7db3cd1d60003de6
2500 32 36 35 30 37 66 63 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 34 26507fc".name="DB/tests/pgsql/14
2520 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 2e 70 68 70 74 22 2f 3e 0a 20 20 20 20 20 20 3c fetchmode_object.phpt"/>.......<
2540 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 30 61 66 36 62 64 63 file.role="test".md5sum="0af6bdc
2560 37 32 65 63 33 35 63 61 38 62 66 32 33 35 38 65 38 32 34 30 31 33 65 62 32 22 20 6e 61 6d 65 3d 72ec35ca8bf2358e824013eb2".name=
2580 22 44 42 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 22 2f 3e 0a "DB/tests/pgsql/02fetch.phpt"/>.
25a0 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="
25c0 37 61 66 38 33 65 32 63 31 33 61 34 61 31 65 38 64 30 34 64 32 62 61 63 33 65 65 61 30 65 63 30 7af83e2c13a4a1e8d04d2bac3eea0ec0
25e0 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 36 70 72 65 70 65 78 ".name="DB/tests/driver/06prepex
2600 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
2620 74 22 20 6d 64 35 73 75 6d 3d 22 63 32 64 38 33 33 32 32 33 32 33 61 31 63 32 62 36 31 38 32 66 t".md5sum="c2d83322323a1c2b6182f
2640 31 63 33 32 37 30 39 30 61 37 33 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 76 1c327090a73".name="DB/tests/driv
2660 65 72 2f 30 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 er/08affectedrows.phpt"/>.......
2680 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 66 35 33 37 61 <file.role="test".md5sum="9f537a
26a0 31 39 35 30 61 37 66 38 31 33 36 64 32 62 64 30 34 32 33 36 66 65 31 33 65 35 22 20 6e 61 6d 65 1950a7f8136d2bd04236fe13e5".name
26c0 3d 22 44 42 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 70 74 ="DB/tests/driver/09numrows.phpt
26e0 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
2700 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 39 36 63 38 39 35 um="243481a5224e78a4dac1e096c895
2720 37 63 32 38 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 33 6c 69 7c28".name="DB/tests/driver/13li
2740 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 65 mit.phpt"/>.......<file.role="te
2760 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 33 66 66 st".md5sum="72ff91ae2a3eb94e03ff
2780 30 66 31 39 61 61 66 62 38 32 30 30 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 0f19aafb8200".name="DB/tests/dri
27a0 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
27c0 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
27e0 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="
2800 44 42 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 22 2f 3e 0a DB/tests/driver/15quote.phpt"/>.
2820 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="
2840 33 65 39 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 3e9db7e275c43c15214b3e64f8e9496f
2860 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 31 63 6f 6e 6e 65 63 ".name="DB/tests/driver/01connec
2880 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 74 t.phpt"/>.......<file.role="test
28a0 22 20 6d 64 35 73 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 ".md5sum="1df3dfc8fdc479ff5f50f1
28c0 30 30 35 33 39 37 32 65 32 65 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 0053972e2e".name="DB/tests/drive
28e0 72 2f 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 r/10errormap.phpt"/>.......<file
2900 20 72 6f 6c 65 3d 22 74 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 64 34 32 62 31 63 66 38 66 61 37 .role="test".md5sum="d42b1cf8fa7
2920 36 65 39 36 66 61 31 39 62 62 61 62 65 34 31 64 63 64 63 37 61 22 20 6e 61 6d 65 3d 22 44 42 2f 6e96fa19bbabe41dcdc7a".name="DB/
2940 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 70 74 22 2f 3e 0a 20 tests/driver/04numcols.phpt"/>..
2960 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 35 .....<file.role="test".md5sum="5
2980 36 32 39 34 63 33 62 31 34 33 64 61 38 36 31 64 36 33 63 64 30 30 61 31 62 36 62 66 66 34 34 22 6294c3b143da861d63cd00a1b6bff44"
29a0 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 33 73 69 6d 70 6c 65 71 .name="DB/tests/driver/03simpleq
29c0 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 65 3d 22 74 uery.phpt"/>.......<file.role="t
29e0 65 73 74 22 20 6d 64 35 73 75 6d 3d 22 37 38 38 37 62 30 64 34 37 39 36 66 64 35 38 38 37 39 61 est".md5sum="7887b0d4796fd58879a
2a00 36 32 38 31 64 34 39 61 66 61 36 38 31 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 6281d49afa681".name="DB/tests/dr
2a20 69 76 65 72 2f 31 34 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 2e 70 68 70 74 22 2f 3e 0a iver/14fetchmode_object.phpt"/>.
2a40 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="
2a60 61 39 32 31 65 36 31 66 33 64 65 35 32 30 61 62 63 61 37 33 62 61 65 32 66 39 63 37 39 63 31 31 a921e61f3de520abca73bae2f9c79c11
2a80 22 20 6e 61 6d 65 3d 22 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 32 66 65 74 63 68 2e ".name="DB/tests/driver/02fetch.
2aa0 70 68 70 74 22 2f 3e 0a 20 20 20 20 3c 2f 66 69 6c 65 6c 69 73 74 3e 0a 20 20 3c 2f 72 65 6c 65 phpt"/>.....</filelist>...</rele
2ac0 61 73 65 3e 0a 3c 2f 70 61 63 6b 61 67 65 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ase>.</package>.................
2ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c00 44 42 2d 31 2e 32 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.2/DB.php...................
2c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
2c80 20 20 36 36 35 33 30 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 30 36 34 20 00 00 00 00 00 ..66530..7466465701...6064......
2ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e00 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
2e20 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:.*/.//.+-----
2e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2e80 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...........
2ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2ec0 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 .............|.//.+-------------
2ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2f00 2d 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 -------------------------+.//.|.
2f20 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.
2f40 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...........................
2f60 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 .....|.//.+---------------------
2f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2fa0 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
2fc0 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
2fe0 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,......|./
3000 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
3020 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
3040 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 61 74 20 74 68 72 s........|.//.|.available.at.thr
3060 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 ough.the.world-wide-web.at......
3080 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 7c 20 68 74 74 70 .....................|.//.|.http
30a0 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.
30c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
30e0 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
3100 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
3120 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
3140 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
3160 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..........|.//.|.
3180 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
31a0 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...........
31c0 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 .....|.//.+---------------------
31e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3200 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:
3220 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>......
3240 20 20 20 20 20 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 .............................|./
3260 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@
3280 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>....................
32a0 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 .........|.//.+-----------------
32c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 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 2b 0a 2f 2f 0a 2f 2f 20 24 49 64 ---------------------+.//.//.$Id
3300 3a 20 44 42 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f 30 39 20 31 32 3a 32 39 3a :.DB.php,v.1.3.2002/05/09.12:29:
3320 35 33 20 73 73 62 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 65 53.ssb.Exp.$.//.//.Database.inde
3340 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 71 pendent.query.interface..//..req
3360 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 65 uire_once."PEAR.php";../*..*.The
3380 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 5f .method.mapErrorCode.in.each.DB_
33a0 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 61 dbtype.implementation.maps..*.na
33c0 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 65 tive.error.codes.to.one.of.these
33e0 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 65 ...*..*.If.you.add.an.error.code
3400 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 20 .here,.make.sure.you.also.add.a.
3420 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 3a textual..*.version.of.it.in.DB::
3440 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 5f errorMessage()...*/..define("DB_
3460 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 3b OK",.........................1);
3480 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 20 .define("DB_ERROR",.............
34a0 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 59 ........-1);.define("DB_ERROR_SY
34c0 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 28 NTAX",..............-2);.define(
34e0 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 20 "DB_ERROR_CONSTRAINT",..........
3500 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 22 -3);.define("DB_ERROR_NOT_FOUND"
3520 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 4f ,...........-4);.define("DB_ERRO
3540 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 66 R_ALREADY_EXISTS",......-5);.def
3560 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 20 ine("DB_ERROR_UNSUPPORTED",.....
3580 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 54 ....-6);.define("DB_ERROR_MISMAT
35a0 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 5f CH",............-7);.define("DB_
35c0 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 3b ERROR_INVALID",.............-8);
35e0 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 20 .define("DB_ERROR_NOT_CAPABLE",.
3600 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 52 ........-9);.define("DB_ERROR_TR
3620 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 28 UNCATED",..........-10);.define(
3640 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 2d "DB_ERROR_INVALID_NUMBER",.....-
3660 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 41 11);.define("DB_ERROR_INVALID_DA
3680 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 4f TE",.......-12);.define("DB_ERRO
36a0 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 66 R_DIVZERO",............-13);.def
36c0 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 20 ine("DB_ERROR_NODBSELECTED",....
36e0 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 54 ...-14);.define("DB_ERROR_CANNOT
3700 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 5f _CREATE",......-15);.define("DB_
3720 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 3b ERROR_CANNOT_DELETE",......-16);
3740 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 20 .define("DB_ERROR_CANNOT_DROP",.
3760 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 4f .......-17);.define("DB_ERROR_NO
3780 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 28 SUCHTABLE",........-18);.define(
37a0 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 2d "DB_ERROR_NOSUCHFIELD",........-
37c0 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 5f 19);.define("DB_ERROR_NEED_MORE_
37e0 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 4f DATA",.....-20);.define("DB_ERRO
3800 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 66 R_NOT_LOCKED",.........-21);.def
3820 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 57 ine("DB_ERROR_VALUE_COUNT_ON_ROW
3840 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 49 ",.-22);.define("DB_ERROR_INVALI
3860 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 5f D_DSN",........-23);.define("DB_
3880 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 3b ERROR_CONNECT_FAILED",.....-24);
38a0 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 5f .define("DB_ERROR_EXTENSION_NOT_
38c0 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 4f FOUND",-25);.define("DB_ERROR_NO
38e0 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 28 SUCHDB",...........-25);.define(
3900 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 2d "DB_ERROR_ACCESS_VIOLATION",...-
3920 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 74 26);../*..*.Warnings.are.not.det
3940 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 29 ected.as.errors.by.DB::isError()
3960 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 6e ,.and.are.not..*.fatal...You.can
3980 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 66 .detect.whether.an.error.is.in.f
39a0 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 6e act.a.warning.with..*.DB::isWarn
39c0 69 6e 67 28 29 2e 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 57 41 52 4e 49 4e 47 27 2c ing()...*/..define('DB_WARNING',
39e0 20 20 20 20 20 20 20 20 20 20 20 2d 31 30 30 30 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 57 41 ...........-1000);.define('DB_WA
3a00 52 4e 49 4e 47 5f 52 45 41 44 5f 4f 4e 4c 59 27 2c 20 2d 31 30 30 31 29 3b 0a 0a 2f 2a 0a 20 2a RNING_READ_ONLY',.-1001);../*..*
3a20 20 54 68 65 73 65 20 63 6f 6e 73 74 61 6e 74 73 20 61 72 65 20 75 73 65 64 20 77 68 65 6e 20 73 .These.constants.are.used.when.s
3a40 74 6f 72 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 70 72 65 70 61 72 65 toring.information.about.prepare
3a60 64 0a 20 2a 20 73 74 61 74 65 6d 65 6e 74 73 20 28 75 73 69 6e 67 20 74 68 65 20 22 70 72 65 70 d..*.statements.(using.the."prep
3a80 61 72 65 22 20 6d 65 74 68 6f 64 20 69 6e 20 44 42 5f 64 62 74 79 70 65 29 2e 0a 20 2a 0a 20 2a are".method.in.DB_dbtype)...*..*
3aa0 20 54 68 65 20 70 72 65 70 61 72 65 2f 65 78 65 63 75 74 65 20 6d 6f 64 65 6c 20 69 6e 20 44 42 .The.prepare/execute.model.in.DB
3ac0 20 69 73 20 6d 6f 73 74 6c 79 20 62 6f 72 72 6f 77 65 64 20 66 72 6f 6d 20 74 68 65 20 4f 44 42 .is.mostly.borrowed.from.the.ODB
3ae0 43 0a 20 2a 20 65 78 74 65 6e 73 69 6f 6e 2c 20 69 6e 20 61 20 71 75 65 72 79 20 74 68 65 20 22 C..*.extension,.in.a.query.the."
3b00 3f 22 20 63 68 61 72 61 63 74 65 72 20 6d 65 61 6e 73 20 61 20 73 63 61 6c 61 72 20 70 61 72 61 ?".character.means.a.scalar.para
3b20 6d 65 74 65 72 2e 0a 20 2a 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 65 78 74 65 6e 73 69 6f meter...*.There.are.two.extensio
3b40 6e 73 20 74 68 6f 75 67 68 2c 20 61 20 22 26 22 20 63 68 61 72 61 63 74 65 72 20 6d 65 61 6e 73 ns.though,.a."&".character.means
3b60 20 61 6e 20 6f 70 61 71 75 65 0a 20 2a 20 70 61 72 61 6d 65 74 65 72 2e 20 20 41 6e 20 6f 70 61 .an.opaque..*.parameter...An.opa
3b80 71 75 65 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 73 69 6d 70 6c 79 20 61 20 66 69 6c 65 20 6e que.parameter.is.simply.a.file.n
3ba0 61 6d 65 2c 20 74 68 65 20 72 65 61 6c 0a 20 2a 20 64 61 74 61 20 61 72 65 20 69 6e 20 74 68 61 ame,.the.real..*.data.are.in.tha
3bc0 74 20 66 69 6c 65 20 28 75 73 65 66 75 6c 20 66 6f 72 20 70 75 74 74 69 6e 67 20 75 70 6c 6f 61 t.file.(useful.for.putting.uploa
3be0 64 65 64 20 66 69 6c 65 73 20 69 6e 74 6f 20 79 6f 75 72 0a 20 2a 20 64 61 74 61 62 61 73 65 20 ded.files.into.your..*.database.
3c00 61 6e 64 20 73 75 63 68 29 2e 20 54 68 65 20 22 21 22 20 63 68 61 72 20 6d 65 61 6e 73 20 61 20 and.such)..The."!".char.means.a.
3c20 70 61 72 61 6d 65 74 65 72 20 74 68 61 74 20 6d 75 73 74 20 62 65 0a 20 2a 20 6c 65 66 74 20 61 parameter.that.must.be..*.left.a
3c40 73 20 69 74 20 69 73 2e 0a 20 2a 20 54 68 65 79 20 6d 6f 64 69 66 79 20 74 68 65 20 71 75 6f 74 s.it.is...*.They.modify.the.quot
3c60 65 20 62 65 68 61 76 6f 69 72 3a 0a 20 2a 20 44 42 5f 50 41 52 41 4d 5f 53 43 41 4c 41 52 20 28 e.behavoir:..*.DB_PARAM_SCALAR.(
3c80 3f 29 20 3d 3e 20 27 6f 72 69 67 69 6e 61 6c 20 73 74 72 69 6e 67 20 71 75 6f 74 65 64 27 0a 20 ?).=>.'original.string.quoted'..
3ca0 2a 20 44 42 5f 50 41 52 41 4d 5f 4f 50 41 51 55 45 20 28 26 29 20 3d 3e 20 27 73 74 72 69 6e 67 *.DB_PARAM_OPAQUE.(&).=>.'string
3cc0 20 66 72 6f 6d 20 66 69 6c 65 20 71 75 6f 74 65 64 27 0a 20 2a 20 44 42 5f 50 41 52 41 4d 5f 4d .from.file.quoted'..*.DB_PARAM_M
3ce0 49 53 43 20 20 20 28 21 29 20 3d 3e 20 6f 72 69 67 69 6e 61 6c 20 73 74 72 69 6e 67 0a 20 2a 2f ISC...(!).=>.original.string..*/
3d00 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 50 41 52 41 4d 5f 53 43 41 4c 41 52 27 2c 20 31 29 3b 0a ..define('DB_PARAM_SCALAR',.1);.
3d20 64 65 66 69 6e 65 28 27 44 42 5f 50 41 52 41 4d 5f 4f 50 41 51 55 45 27 2c 20 32 29 3b 0a 64 65 define('DB_PARAM_OPAQUE',.2);.de
3d40 66 69 6e 65 28 27 44 42 5f 50 41 52 41 4d 5f 4d 49 53 43 27 2c 20 20 20 33 29 3b 0a 0a 2f 2a 0a fine('DB_PARAM_MISC',...3);../*.
3d60 20 2a 20 54 68 65 73 65 20 63 6f 6e 73 74 61 6e 74 73 20 64 65 66 69 6e 65 20 64 69 66 66 65 72 .*.These.constants.define.differ
3d80 65 6e 74 20 77 61 79 73 20 6f 66 20 72 65 74 75 72 6e 69 6e 67 20 62 69 6e 61 72 79 20 64 61 74 ent.ways.of.returning.binary.dat
3da0 61 0a 20 2a 20 66 72 6f 6d 20 71 75 65 72 69 65 73 2e 20 20 41 67 61 69 6e 2c 20 74 68 69 73 20 a..*.from.queries...Again,.this.
3dc0 6d 6f 64 65 6c 20 68 61 73 20 62 65 65 6e 20 62 6f 72 72 6f 77 65 64 20 66 72 6f 6d 20 74 68 65 model.has.been.borrowed.from.the
3de0 20 4f 44 42 43 0a 20 2a 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 44 42 5f 42 49 4e .ODBC..*.extension...*..*.DB_BIN
3e00 4d 4f 44 45 5f 50 41 53 53 54 48 52 55 20 73 65 6e 64 73 20 74 68 65 20 64 61 74 61 20 64 69 72 MODE_PASSTHRU.sends.the.data.dir
3e20 65 63 74 6c 79 20 74 68 72 6f 75 67 68 20 74 6f 20 74 68 65 20 62 72 6f 77 73 65 72 0a 20 2a 20 ectly.through.to.the.browser..*.
3e40 77 68 65 6e 20 64 61 74 61 20 69 73 20 66 65 74 63 68 65 64 20 66 72 6f 6d 20 74 68 65 20 64 61 when.data.is.fetched.from.the.da
3e60 74 61 62 61 73 65 2e 0a 20 2a 20 44 42 5f 42 49 4e 4d 4f 44 45 5f 52 45 54 55 52 4e 20 6c 65 74 tabase...*.DB_BINMODE_RETURN.let
3e80 73 20 79 6f 75 20 72 65 74 75 72 6e 20 64 61 74 61 20 61 73 20 75 73 75 61 6c 2e 0a 20 2a 20 44 s.you.return.data.as.usual...*.D
3ea0 42 5f 42 49 4e 4d 4f 44 45 5f 43 4f 4e 56 45 52 54 20 72 65 74 75 72 6e 73 20 64 61 74 61 20 61 B_BINMODE_CONVERT.returns.data.a
3ec0 73 20 77 65 6c 6c 2c 20 6f 6e 6c 79 20 69 74 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 0a s.well,.only.it.is.converted.to.
3ee0 20 2a 20 68 65 78 20 66 6f 72 6d 61 74 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 74 68 65 20 73 .*.hex.format,.for.example.the.s
3f00 74 72 69 6e 67 20 22 31 32 33 22 20 77 6f 75 6c 64 20 62 65 63 6f 6d 65 20 22 33 31 33 32 33 33 tring."123".would.become."313233
3f20 22 2e 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 42 49 4e 4d 4f 44 45 5f 50 41 53 53 54 "...*/..define('DB_BINMODE_PASST
3f40 48 52 55 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 42 49 4e 4d 4f 44 45 5f 52 45 54 HRU',.1);.define('DB_BINMODE_RET
3f60 55 52 4e 27 2c 20 20 20 32 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 42 49 4e 4d 4f 44 45 5f 43 URN',...2);.define('DB_BINMODE_C
3f80 4f 4e 56 45 52 54 27 2c 20 20 33 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 69 73 20 69 73 20 61 20 ONVERT',..3);../**..*.This.is.a.
3fa0 73 70 65 63 69 61 6c 20 63 6f 6e 73 74 61 6e 74 20 74 68 61 74 20 74 65 6c 6c 73 20 44 42 20 74 special.constant.that.tells.DB.t
3fc0 68 65 20 75 73 65 72 20 68 61 73 6e 27 74 20 73 70 65 63 69 66 69 65 64 0a 20 2a 20 61 6e 79 20 he.user.hasn't.specified..*.any.
3fe0 70 61 72 74 69 63 75 6c 61 72 20 67 65 74 20 6d 6f 64 65 2c 20 73 6f 20 74 68 65 20 64 65 66 61 particular.get.mode,.so.the.defa
4000 75 6c 74 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 ult.should.be.used...*/..define(
4020 27 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 44 45 46 41 55 4c 54 27 2c 20 30 29 3b 0a 0a 2f 2a 2a 'DB_FETCHMODE_DEFAULT',.0);../**
4040 0a 20 2a 20 43 6f 6c 75 6d 6e 20 64 61 74 61 20 69 6e 64 65 78 65 64 20 62 79 20 6e 75 6d 62 65 ..*.Column.data.indexed.by.numbe
4060 72 73 2c 20 6f 72 64 65 72 65 64 20 66 72 6f 6d 20 30 20 61 6e 64 20 75 70 0a 20 2a 2f 0a 0a 64 rs,.ordered.from.0.and.up..*/..d
4080 65 66 69 6e 65 28 27 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 27 2c 20 31 29 efine('DB_FETCHMODE_ORDERED',.1)
40a0 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6c 75 6d 6e 20 64 61 74 61 20 69 6e 64 65 78 65 64 20 62 79 ;../**..*.Column.data.indexed.by
40c0 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 46 45 .column.names..*/..define('DB_FE
40e0 54 43 48 4d 4f 44 45 5f 41 53 53 4f 43 27 2c 20 32 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6c 75 TCHMODE_ASSOC',.2);../**..*.Colu
4100 6d 6e 20 64 61 74 61 20 61 73 20 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 69 65 73 0a 20 2a 2f mn.data.as.object.properties..*/
4120 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 27 2c 20 ..define('DB_FETCHMODE_OBJECT',.
4140 33 29 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 6f 72 20 6d 75 6c 74 69 2d 64 69 6d 65 6e 73 69 6f 6e 61 3);../**..*.For.multi-dimensiona
4160 6c 20 72 65 73 75 6c 74 73 3a 20 6e 6f 72 6d 61 6c 6c 79 20 74 68 65 20 66 69 72 73 74 20 6c 65 l.results:.normally.the.first.le
4180 76 65 6c 20 6f 66 20 61 72 72 61 79 73 0a 20 2a 20 69 73 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 vel.of.arrays..*.is.the.row.numb
41a0 65 72 2c 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 6c 65 76 65 6c 20 69 6e 64 65 78 65 64 er,.and.the.second.level.indexed
41c0 20 62 79 20 63 6f 6c 75 6d 6e 20 6e 75 6d 62 65 72 20 6f 72 20 6e 61 6d 65 2e 0a 20 2a 20 44 42 .by.column.number.or.name...*.DB
41e0 5f 46 45 54 43 48 4d 4f 44 45 5f 46 4c 49 50 50 45 44 20 73 77 69 74 63 68 65 73 20 74 68 69 73 _FETCHMODE_FLIPPED.switches.this
4200 20 6f 72 64 65 72 2c 20 73 6f 20 74 68 65 20 66 69 72 73 74 20 6c 65 76 65 6c 20 6f 66 20 61 72 .order,.so.the.first.level.of.ar
4220 72 61 79 73 0a 20 2a 20 69 73 20 74 68 65 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 2c 20 61 6e 64 20 rays..*.is.the.column.name,.and.
4240 74 68 65 20 73 65 63 6f 6e 64 20 6c 65 76 65 6c 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 2e the.second.level.the.row.number.
4260 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 46 4c 49 50 50 ..*/..define('DB_FETCHMODE_FLIPP
4280 45 44 27 2c 20 34 29 3b 0a 0a 2f 2a 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 2a ED',.4);../*.for.compatibility.*
42a0 2f 0a 0a 64 65 66 69 6e 65 28 27 44 42 5f 47 45 54 4d 4f 44 45 5f 4f 52 44 45 52 45 44 27 2c 20 /..define('DB_GETMODE_ORDERED',.
42c0 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 52 44 45 52 45 44 29 3b 0a 64 65 66 69 6e 65 28 27 44 DB_FETCHMODE_ORDERED);.define('D
42e0 42 5f 47 45 54 4d 4f 44 45 5f 41 53 53 4f 43 27 2c 20 20 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 B_GETMODE_ASSOC',...DB_FETCHMODE
4300 5f 41 53 53 4f 43 29 3b 0a 64 65 66 69 6e 65 28 27 44 42 5f 47 45 54 4d 4f 44 45 5f 46 4c 49 50 _ASSOC);.define('DB_GETMODE_FLIP
4320 50 45 44 27 2c 20 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 46 4c 49 50 50 45 44 29 3b 0a 0a 2f 2a PED',.DB_FETCHMODE_FLIPPED);../*
4340 2a 0a 20 2a 20 74 68 65 73 65 20 61 72 65 20 63 6f 6e 73 74 61 6e 74 73 20 66 6f 72 20 74 68 65 *..*.these.are.constants.for.the
4360 20 74 61 62 6c 65 49 6e 66 6f 2d 66 75 6e 63 74 69 6f 6e 0a 20 2a 20 74 68 65 79 20 61 72 65 20 .tableInfo-function..*.they.are.
4380 62 69 74 77 69 73 65 64 20 6f 72 27 65 64 2e 20 73 6f 20 69 66 20 74 68 65 72 65 20 61 72 65 20 bitwised.or'ed..so.if.there.are.
43a0 6d 6f 72 65 20 63 6f 6e 73 74 61 6e 74 73 20 74 6f 20 62 65 20 64 65 66 69 6e 65 64 0a 20 2a 20 more.constants.to.be.defined..*.
43c0 69 6e 20 74 68 65 20 66 75 74 75 72 65 2c 20 61 64 6a 75 73 74 20 44 42 5f 54 41 42 4c 45 49 4e in.the.future,.adjust.DB_TABLEIN
43e0 46 4f 5f 46 55 4c 4c 20 61 63 63 6f 72 64 69 6e 67 6c 79 0a 20 2a 2f 0a 0a 64 65 66 69 6e 65 28 FO_FULL.accordingly..*/..define(
4400 27 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 'DB_TABLEINFO_ORDER',.1);.define
4420 28 27 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 27 2c 20 32 29 3b 0a ('DB_TABLEINFO_ORDERTABLE',.2);.
4440 64 65 66 69 6e 65 28 27 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 46 55 4c 4c 27 2c 20 33 29 3b 0a define('DB_TABLEINFO_FULL',.3);.
4460 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 65 20 6d 61 69 6e 20 22 44 42 22 20 63 6c 61 73 73 20 69 73 20 ../**..*.The.main."DB".class.is.
4480 73 69 6d 70 6c 79 20 61 20 63 6f 6e 74 61 69 6e 65 72 20 63 6c 61 73 73 20 77 69 74 68 20 73 6f simply.a.container.class.with.so
44a0 6d 65 20 73 74 61 74 69 63 0a 20 2a 20 6d 65 74 68 6f 64 73 20 66 6f 72 20 63 72 65 61 74 69 6e me.static..*.methods.for.creatin
44c0 67 20 44 42 20 6f 62 6a 65 63 74 73 20 61 73 20 77 65 6c 6c 20 61 73 20 73 6f 6d 65 20 75 74 69 g.DB.objects.as.well.as.some.uti
44e0 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 0a 20 2a 20 63 6f 6d 6d 6f 6e 20 74 6f 20 61 6c 6c 20 lity.functions..*.common.to.all.
4500 70 61 72 74 73 20 6f 66 20 44 42 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 6f 62 6a 65 63 74 20 6d 6f parts.of.DB...*..*.The.object.mo
4520 64 65 6c 20 6f 66 20 44 42 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 20 28 69 6e 64 65 6e 74 61 del.of.DB.is.as.follows.(indenta
4540 74 69 6f 6e 20 6d 65 61 6e 73 20 69 6e 68 65 72 69 74 61 6e 63 65 29 3a 0a 20 2a 0a 20 2a 20 44 tion.means.inheritance):..*..*.D
4560 42 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 69 6e 20 44 42 20 63 6c 61 73 73 2e 20 20 B...........The.main.DB.class...
4580 54 68 69 73 20 69 73 20 73 69 6d 70 6c 79 20 61 20 75 74 69 6c 69 74 79 20 63 6c 61 73 73 0a 20 This.is.simply.a.utility.class..
45a0 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 20 73 6f 6d 65 20 22 73 74 61 74 69 63 *..............with.some."static
45c0 22 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 65 63 74 ".methods.for.creating.DB.object
45e0 73 20 61 73 0a 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 65 6c 6c 20 61 73 20 63 6f 6d s.as..*..............well.as.com
4600 6d 6f 6e 20 75 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 mon.utility.functions.for.other.
4620 44 42 20 63 6c 61 73 73 65 73 2e 0a 20 2a 0a 20 2a 20 44 42 5f 63 6f 6d 6d 6f 6e 20 20 20 20 54 DB.classes...*..*.DB_common....T
4640 68 65 20 62 61 73 65 20 66 6f 72 20 65 61 63 68 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 he.base.for.each.DB.implementati
4660 6f 6e 2e 20 20 50 72 6f 76 69 64 65 73 20 64 65 66 61 75 6c 74 0a 20 2a 20 7c 20 20 20 20 20 20 on...Provides.default..*.|......
4680 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 28 69 6e 20 4f 4f 20 6c 69 6e ......implementations.(in.OO.lin
46a0 67 6f 20 76 69 72 74 75 61 6c 20 6d 65 74 68 6f 64 73 29 20 66 6f 72 0a 20 2a 20 7c 20 20 20 20 go.virtual.methods).for..*.|....
46c0 20 20 20 20 20 20 20 20 74 68 65 20 61 63 74 75 61 6c 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 ........the.actual.DB.implementa
46e0 74 69 6f 6e 73 20 61 73 20 77 65 6c 6c 20 61 73 20 61 20 62 75 6e 63 68 20 6f 66 0a 20 2a 20 7c tions.as.well.as.a.bunch.of..*.|
4700 20 20 20 20 20 20 20 20 20 20 20 20 71 75 65 72 79 20 75 74 69 6c 69 74 79 20 66 75 6e 63 74 69 ............query.utility.functi
4720 6f 6e 73 2e 0a 20 2a 20 7c 0a 20 2a 20 2b 2d 44 42 5f 6d 79 73 71 6c 20 20 20 54 68 65 20 44 42 ons...*.|..*.+-DB_mysql...The.DB
4740 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 4d 79 53 51 4c 2e 20 20 49 6e 68 65 .implementation.for.MySQL...Inhe
4760 72 69 74 73 20 44 42 5f 63 6f 6d 6d 6f 6e 2e 0a 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rits.DB_common...*..............
4780 57 68 65 6e 20 63 61 6c 6c 69 6e 67 20 44 42 3a 3a 66 61 63 74 6f 72 79 20 6f 72 20 44 42 3a 3a When.calling.DB::factory.or.DB::
47a0 63 6f 6e 6e 65 63 74 20 66 6f 72 20 4d 79 53 51 4c 0a 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 connect.for.MySQL..*............
47c0 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 74 68 65 20 6f 62 6a 65 63 74 20 72 65 74 75 72 6e ..connections,.the.object.return
47e0 65 64 20 69 73 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 69 73 0a 20 2a 20 20 20 20 ed.is.an.instance.of.this..*....
4800 20 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 2e 0a 20 2a 0a 20 2a 20 40 70 61 63 6b 61 67 65 20 ..........class...*..*.@package.
4820 20 44 42 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 3c 73 73 .DB..*.@author...Stig.Bakken.<ss
4840 62 40 66 61 73 74 2e 6e 6f 3e 0a 20 2a 20 40 73 69 6e 63 65 20 20 20 20 50 48 50 20 34 2e 30 0a b@fast.no>..*.@since....PHP.4.0.
4860 20 2a 2f 0a 0a 63 6c 61 73 73 20 44 42 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 .*/..class.DB.{...../**......*.C
4880 72 65 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 reate.a.new.DB.connection.object
48a0 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 .for.the.specified.database.....
48c0 20 2a 20 74 79 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 .*.type......*......*.@param.str
48e0 69 6e 67 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 ing.database.type,.for.example."
4900 6d 79 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 mysql"......*......*.@return.mix
4920 65 64 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 ed.a.newly.created.DB.object,.or
4940 20 61 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 .a.DB.error.code.on......*.error
4960 0a 20 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 ......*......*.access.public....
4980 20 20 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 ..*/......function.&factory($typ
49a0 65 29 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 e).....{.........@include_once("
49c0 44 42 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 DB/${type}.php");..........$clas
49e0 73 6e 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 sname.=."DB_${type}";..........i
4a00 66 20 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 f.(!class_exists($classname)).{.
4a20 20 20 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 ............return.PEAR::raiseEr
4a40 72 6f 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 ror(null,.DB_ERROR_NOT_FOUND,...
4a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4a80 20 20 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 ..null,.null,.null,.'DB_Error',.
4aa0 74 72 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 true);.........}..........@$obj.
4ac0 3d 26 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 =&.new.$classname;..........retu
4ae0 72 6e 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 rn.$obj;.....}....../**......*.C
4b00 72 65 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 reate.a.new.DB.connection.object
4b20 20 61 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 .and.connect.to.the.specified...
4b40 20 20 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 ...*.database......*......*.@par
4b60 61 6d 20 6d 69 78 65 64 20 22 64 61 74 61 20 73 6f 75 72 63 65 20 6e 61 6d 65 22 2c 20 73 65 65 am.mixed."data.source.name",.see
4b80 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 6f 64 20 .the.DB::parseDSN......*.method.
4ba0 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 66 6f 72 for.a.description.of.the.dsn.for
4bc0 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 69 66 69 mat...Can.also.be......*.specifi
4be0 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 72 65 74 ed.as.an.array.of.the.format.ret
4c00 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 0a 20 20 urned.by.DB::parseDSN.......*...
4c20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 41 6e 20 61 73 73 6f 63 69 61 74 69 76 65 ...*.@param.mixed.An.associative
4c40 20 61 72 72 61 79 20 6f 66 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 73 20 61 6e 64 0a 20 20 20 20 20 .array.of.option.names.and......
4c60 2a 20 74 68 65 69 72 20 76 61 6c 75 65 73 2e 20 20 46 6f 72 20 62 61 63 6b 77 61 72 64 73 20 63 *.their.values...For.backwards.c
4c80 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 6d 61 79 ompatibility,.this.parameter.may
4ca0 0a 20 20 20 20 20 2a 20 61 6c 73 6f 20 62 65 20 61 20 62 6f 6f 6c 65 61 6e 20 74 68 61 74 20 74 ......*.also.be.a.boolean.that.t
4cc0 65 6c 6c 73 20 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 ells.whether.the.connection.shou
4ce0 6c 64 20 62 65 0a 20 20 20 20 20 2a 20 70 65 72 73 69 73 74 65 6e 74 2e 20 20 53 65 65 20 44 42 ld.be......*.persistent...See.DB
4d00 5f 63 6f 6d 6d 6f 6e 3a 3a 73 65 74 4f 70 74 69 6f 6e 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f _common::setOption.for.more.info
4d20 72 6d 61 74 69 6f 6e 20 6f 6e 0a 20 20 20 20 20 2a 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 70 74 rmation.on......*.connection.opt
4d40 69 6f 6e 73 2e 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 ions.......*......*.@return.mixe
4d60 64 20 61 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 44 42 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 d.a.newly.created.DB.connection.
4d80 6f 62 6a 65 63 74 2c 20 6f 72 20 61 20 44 42 0a 20 20 20 20 20 2a 20 65 72 72 6f 72 20 6f 62 6a object,.or.a.DB......*.error.obj
4da0 65 63 74 20 6f 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 ect.on.error......*......*.@see.
4dc0 44 42 3a 3a 70 61 72 73 65 44 53 4e 0a 20 20 20 20 20 2a 20 40 73 65 65 20 44 42 3a 3a 69 73 45 DB::parseDSN......*.@see.DB::isE
4de0 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 6e 3a 3a 73 65 74 4f rror......*.@see.DB_common::setO
4e00 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 26 63 6f 6e 6e ption......*/.....function.&conn
4e20 65 63 74 28 24 64 73 6e 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 ect($dsn,.$options.=.false).....
4e40 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 64 73 6e 29 29 20 7b 0a {.........if.(is_array($dsn)).{.
4e60 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 69 6e 66 6f 20 3d 20 24 64 73 6e 3b 0a 20 20 20 ............$dsninfo.=.$dsn;....
4e80 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 64 73 6e 69 6e .....}.else.{.............$dsnin
4ea0 66 6f 20 3d 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 28 24 64 73 6e 29 3b 0a 20 20 20 20 20 20 20 fo.=.DB::parseDSN($dsn);........
4ec0 20 7d 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 22 70 68 70 .}.........$type.=.$dsninfo["php
4ee0 74 79 70 65 22 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 6f type"];..........if.(is_array($o
4f00 70 74 69 6f 6e 73 29 20 26 26 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 22 64 65 62 75 67 ptions).&&.isset($options["debug
4f20 22 5d 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 5b 22 64 65 62 "]).&&.............$options["deb
4f40 75 67 22 5d 20 3e 3d 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 78 70 6f ug"].>=.2).{.............//.expo
4f60 73 65 20 70 68 70 20 65 72 72 6f 72 73 20 77 69 74 68 20 73 75 66 66 69 63 69 65 6e 74 20 64 65 se.php.errors.with.sufficient.de
4f80 62 75 67 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 65 5f 6f 6e bug.level.............include_on
4fa0 63 65 20 22 44 42 2f 24 7b 74 79 70 65 7d 2e 70 68 70 22 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 ce."DB/${type}.php";.........}.e
4fc0 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 40 69 6e 63 6c 75 64 65 5f 6f 6e 63 65 20 lse.{.............@include_once.
4fe0 22 44 42 2f 24 7b 74 79 70 65 7d 2e 70 68 70 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 "DB/${type}.php";.........}.....
5000 20 20 20 20 20 24 63 6c 61 73 73 6e 61 6d 65 20 3d 20 22 44 42 5f 24 7b 74 79 70 65 7d 22 3b 0a .....$classname.=."DB_${type}";.
5020 20 20 20 20 20 20 20 20 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 ........if.(!class_exists($class
5040 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 45 41 52 name)).{.............return.PEAR
5060 3a 3a 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 4e 4f 54 5f ::raiseError(null,.DB_ERROR_NOT_
5080 46 4f 55 4e 44 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 FOUND,..........................
50a0 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 20 27 44 42 ...........null,.null,.null,.'DB
50c0 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 20 20 _Error',.true);.........}.......
50e0 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 20 20 ...@$obj.=&.new.$classname;.....
5100 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 0a 20 .....if.(is_array($options)).{..
5120 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 73 20 ...........foreach.($options.as.
5140 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 20 20 $option.=>.$value).{............
5160 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 6f 70 .....$test.=.$obj->setOption($op
5180 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 20 69 tion,.$value);.................i
51a0 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 20 20 f.(DB::isError($test)).{........
51c0 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 20 20 .............return.$test;......
51e0 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 ...........}.............}......
5200 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 73 65 ...}.else.{.............$obj->se
5220 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 29 3b tOption('persistent',.$options);
5240 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 2d 3e .........}.........$err.=.$obj->
5260 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 69 6f connect($dsninfo,.$obj->getOptio
5280 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 44 42 n('persistent'));.........if.(DB
52a0 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 20 24 ::isError($err)).{.............$
52c0 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 20 20 err->addUserInfo($dsn);.........
52e0 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;.........}......
5300 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 2a 0a ....return.$obj;.....}....../**.
5320 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 6f 6e .....*.Return.the.DB.API.version
5340 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 44 ......*......*.@return.int.the.D
5360 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 20 20 B.API.version.number......*.....
5380 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
53a0 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 20 20 nction.apiVersion().....{.......
53c0 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 20 20 ..return.2;.....}....../**......
53e0 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 72 6f *.Tell.whether.a.result.code.fro
5400 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 20 2a m.a.DB.method.is.an.error......*
5420 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 72 65 73 75 6c 74 20 63 6f 64 65 0a 20 ......*.@param.int.result.code..
5440 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 68 65 74 68 65 ....*......*.@return.bool.whethe
5460 72 20 24 76 61 6c 75 65 20 69 73 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 r.$value.is.an.error......*.....
5480 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
54a0 6e 63 74 69 6f 6e 20 69 73 45 72 72 6f 72 28 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 nction.isError($value).....{....
54c0 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 26 .....return.(is_object($value).&
54e0 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 5f 63 6c 61 73 73 28 24 76 61 &.................(get_class($va
5500 6c 75 65 29 20 3d 3d 20 27 64 62 5f 65 72 72 6f 72 27 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 lue).==.'db_error'.||...........
5520 20 20 20 20 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 .......is_subclass_of($value,.'d
5540 62 5f 65 72 72 6f 72 27 29 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 b_error')));.....}....../**.....
5560 20 2a 20 54 65 6c 6c 20 77 68 65 74 68 65 72 20 61 20 76 61 6c 75 65 20 69 73 20 61 20 44 42 20 .*.Tell.whether.a.value.is.a.DB.
5580 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 connection......*......*.@param.
55a0 6d 69 78 65 64 20 76 61 6c 75 65 20 74 6f 20 74 65 73 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 mixed.value.to.test......*......
55c0 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 77 68 65 74 68 65 72 20 24 76 61 6c 75 65 20 69 73 *.@return.bool.whether.$value.is
55e0 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 2a 20 40 .a.DB.connection......*......*.@
5600 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 69 access.public......*/.....functi
5620 6f 6e 20 69 73 43 6f 6e 6e 65 63 74 69 6f 6e 28 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 on.isConnection($value).....{...
5640 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 ......return.(is_object($value).
5660 26 26 0a 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 &&.................is_subclass_o
5680 66 28 24 76 61 6c 75 65 2c 20 27 64 62 5f 63 6f 6d 6d 6f 6e 27 29 20 26 26 0a 20 20 20 20 20 20 f($value,.'db_common').&&.......
56a0 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 ..........method_exists($value,.
56c0 27 73 69 6d 70 6c 65 51 75 65 72 79 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 'simpleQuery'));.....}....../**.
56e0 20 20 20 20 20 2a 20 54 65 6c 6c 20 77 68 65 74 68 65 72 20 61 20 71 75 65 72 79 20 69 73 20 61 .....*.Tell.whether.a.query.is.a
5700 20 64 61 74 61 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 71 75 65 72 79 20 28 69 6e 73 65 72 74 .data.manipulation.query.(insert
5720 2c 0a 20 20 20 20 20 2a 20 75 70 64 61 74 65 20 6f 72 20 64 65 6c 65 74 65 29 20 6f 72 20 61 20 ,......*.update.or.delete).or.a.
5740 64 61 74 61 20 64 65 66 69 6e 69 74 69 6f 6e 20 71 75 65 72 79 20 28 63 72 65 61 74 65 2c 20 64 data.definition.query.(create,.d
5760 72 6f 70 2c 0a 20 20 20 20 20 2a 20 61 6c 74 65 72 2c 20 67 72 61 6e 74 2c 20 72 65 76 6f 6b 65 rop,......*.alter,.grant,.revoke
5780 29 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 69 63 0a ).......*......*.@access.public.
57a0 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 74 68 65 20 .....*......*.@param.string.the.
57c0 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 62 6f 6f 6c query......*......*.@return.bool
57e0 65 61 6e 20 77 68 65 74 68 65 72 20 24 71 75 65 72 79 20 69 73 20 61 20 64 61 74 61 20 6d 61 6e ean.whether.$query.is.a.data.man
5800 69 70 75 6c 61 74 69 6f 6e 20 71 75 65 72 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 ipulation.query......*/.....func
5820 74 69 6f 6e 20 69 73 4d 61 6e 69 70 28 24 71 75 65 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 tion.isManip($query).....{......
5840 20 20 20 24 6d 61 6e 69 70 73 20 3d 20 27 49 4e 53 45 52 54 7c 55 50 44 41 54 45 7c 44 45 4c 45 ...$manips.=.'INSERT|UPDATE|DELE
5860 54 45 7c 27 2e 27 52 45 50 4c 41 43 45 7c 43 52 45 41 54 45 7c 44 52 4f 50 7c 27 2e 0a 20 20 20 TE|'.'REPLACE|CREATE|DROP|'.....
5880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 41 4c 54 45 52 7c 47 52 41 4e 54 7c 52 45 56 4f ...............'ALTER|GRANT|REVO
58a0 4b 45 7c 27 2e 27 4c 4f 43 4b 7c 55 4e 4c 4f 43 4b 27 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 KE|'.'LOCK|UNLOCK';.........if.(
58c0 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 22 3f 28 27 2e 24 6d 61 6e 69 70 73 2e 27 29 preg_match('/^\s*"?('.$manips.')
58e0 5c 73 2b 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 20 20 20 72 \s+/i',.$query)).{.............r
5900 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 20 20 20 20 72 65 eturn.true;.........}.........re
5920 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 turn.false;.....}....../**......
5940 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 72 6f *.Tell.whether.a.result.code.fro
5960 6d 20 61 20 44 42 20 6d 65 74 68 6f 64 20 69 73 20 61 20 77 61 72 6e 69 6e 67 2e 0a 20 20 20 20 m.a.DB.method.is.a.warning......
5980 20 2a 20 57 61 72 6e 69 6e 67 73 20 64 69 66 66 65 72 20 66 72 6f 6d 20 65 72 72 6f 72 73 20 69 .*.Warnings.differ.from.errors.i
59a0 6e 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 44 42 2c n.that.they.are.generated.by.DB,
59c0 0a 20 20 20 20 20 2a 20 61 6e 64 20 61 72 65 20 6e 6f 74 20 66 61 74 61 6c 2e 0a 20 20 20 20 20 ......*.and.are.not.fatal.......
59e0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 72 65 73 75 6c 74 20 76 61 6c *......*.@param.mixed.result.val
5a00 75 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 6f 6c 65 61 6e ue......*......*.@return.boolean
5a20 20 77 68 65 74 68 65 72 20 24 76 61 6c 75 65 20 69 73 20 61 20 77 61 72 6e 69 6e 67 0a 20 20 20 .whether.$value.is.a.warning....
5a40 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......*
5a60 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 57 61 72 6e 69 6e 67 28 24 76 61 6c 75 65 29 /.....function.isWarning($value)
5a80 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 5f 6f 62 6a 65 63 74 .....{.........return.(is_object
5aa0 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 20 20 20 28 67 65 74 ($value).&&.................(get
5ac0 5f 63 6c 61 73 73 28 24 76 61 6c 75 65 29 20 3d 3d 20 22 64 62 5f 77 61 72 6e 69 6e 67 22 20 7c _class($value).==."db_warning".|
5ae0 7c 0a 20 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 |..................is_subclass_o
5b00 66 28 24 76 61 6c 75 65 2c 20 22 64 62 5f 77 61 72 6e 69 6e 67 22 29 29 29 3b 0a 20 20 20 20 7d f($value,."db_warning")));.....}
5b20 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 20 61 20 74 65 78 74 75 61 ....../**......*.Return.a.textua
5b40 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 6f 72 20 61 20 44 42 20 65 72 72 6f 72 20 63 l.error.message.for.a.DB.error.c
5b60 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 ode......*......*.@param.integer
5b80 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 72 65 74 75 72 .error.code......*......*.@retur
5ba0 6e 20 73 74 72 69 6e 67 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2c 20 6f 72 20 66 61 6c 73 65 n.string.error.message,.or.false
5bc0 20 69 66 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 20 77 61 73 0a 20 20 20 20 20 2a 20 6e 6f .if.the.error.code.was......*.no
5be0 74 20 72 65 63 6f 67 6e 69 7a 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 69 6f t.recognized......*/.....functio
5c00 6e 20 65 72 72 6f 72 4d 65 73 73 61 67 65 28 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 n.errorMessage($value).....{....
5c20 20 20 20 20 20 73 74 61 74 69 63 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 73 3b 0a 20 20 20 20 .....static.$errorMessages;.....
5c40 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 73 29 29 20 ....if.(!isset($errorMessages)).
5c60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 73 20 3d 20 61 {.............$errorMessages.=.a
5c80 72 72 61 79 28 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 20 20 rray(.................DB_ERROR..
5ca0 20 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 65 72 ..................=>.'unknown.er
5cc0 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 41 ror',.................DB_ERROR_A
5ce0 4c 52 45 41 44 59 5f 45 58 49 53 54 53 20 20 20 20 20 3d 3e 20 27 61 6c 72 65 61 64 79 20 65 78 LREADY_EXISTS.....=>.'already.ex
5d00 69 73 74 73 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 ists',.................DB_ERROR_
5d20 43 41 4e 4e 4f 54 5f 43 52 45 41 54 45 20 20 20 20 20 20 3d 3e 20 27 63 61 6e 20 6e 6f 74 20 63 CANNOT_CREATE......=>.'can.not.c
5d40 72 65 61 74 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 reate',.................DB_ERROR
5d60 5f 43 41 4e 4e 4f 54 5f 44 45 4c 45 54 45 20 20 20 20 20 20 3d 3e 20 27 63 61 6e 20 6e 6f 74 20 _CANNOT_DELETE......=>.'can.not.
5d80 64 65 6c 65 74 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 delete',.................DB_ERRO
5da0 52 5f 43 41 4e 4e 4f 54 5f 44 52 4f 50 20 20 20 20 20 20 20 20 3d 3e 20 27 63 61 6e 20 6e 6f 74 R_CANNOT_DROP........=>.'can.not
5dc0 20 64 72 6f 70 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 .drop',.................DB_ERROR
5de0 5f 43 4f 4e 53 54 52 41 49 4e 54 20 20 20 20 20 20 20 20 20 3d 3e 20 27 63 6f 6e 73 74 72 61 69 _CONSTRAINT.........=>.'constrai
5e00 6e 74 20 76 69 6f 6c 61 74 69 6f 6e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 nt.violation',.................D
5e20 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 64 B_ERROR_DIVZERO............=>.'d
5e40 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ivision.by.zero',...............
5e60 20 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e ..DB_ERROR_INVALID............=>
5e80 20 27 69 6e 76 61 6c 69 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 .'invalid',.................DB_E
5ea0 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 44 41 54 45 20 20 20 20 20 20 20 3d 3e 20 27 69 6e 76 61 RROR_INVALID_DATE.......=>.'inva
5ec0 6c 69 64 20 64 61 74 65 20 6f 72 20 74 69 6d 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lid.date.or.time',..............
5ee0 20 20 20 44 42 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 4e 55 4d 42 45 52 20 20 20 20 20 3d ...DB_ERROR_INVALID_NUMBER.....=
5f00 3e 20 27 69 6e 76 61 6c 69 64 20 6e 75 6d 62 65 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 >.'invalid.number',.............
5f20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4d 49 53 4d 41 54 43 48 20 20 20 20 20 20 20 20 20 20 20 ....DB_ERROR_MISMATCH...........
5f40 3d 3e 20 27 6d 69 73 6d 61 74 63 68 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 =>.'mismatch',.................D
5f60 42 5f 45 52 52 4f 52 5f 4e 4f 44 42 53 45 4c 45 43 54 45 44 20 20 20 20 20 20 20 3d 3e 20 27 6e B_ERROR_NODBSELECTED.......=>.'n
5f80 6f 20 64 61 74 61 62 61 73 65 20 73 65 6c 65 63 74 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 o.database.selected',...........
5fa0 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 46 49 45 4c 44 20 20 20 20 20 20 ......DB_ERROR_NOSUCHFIELD......
5fc0 20 20 3d 3e 20 27 6e 6f 20 73 75 63 68 20 66 69 65 6c 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 ..=>.'no.such.field',...........
5fe0 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 53 55 43 48 54 41 42 4c 45 20 20 20 20 20 20 ......DB_ERROR_NOSUCHTABLE......
6000 20 20 3d 3e 20 27 6e 6f 20 73 75 63 68 20 74 61 62 6c 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 ..=>.'no.such.table',...........
6020 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 43 41 50 41 42 4c 45 20 20 20 20 20 20 ......DB_ERROR_NOT_CAPABLE......
6040 20 20 3d 3e 20 27 44 42 20 62 61 63 6b 65 6e 64 20 6e 6f 74 20 63 61 70 61 62 6c 65 27 2c 0a 20 ..=>.'DB.backend.not.capable',..
6060 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 54 5f 46 4f 55 4e ...............DB_ERROR_NOT_FOUN
6080 44 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 74 20 66 6f 75 6e 64 27 2c 0a 20 20 20 20 20 D..........=>.'not.found',......
60a0 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 4f 54 5f 4c 4f 43 4b 45 44 20 20 ...........DB_ERROR_NOT_LOCKED..
60c0 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 74 20 6c 6f 63 6b 65 64 27 2c 0a 20 20 20 20 20 20 20 20 .......=>.'not.locked',.........
60e0 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 20 20 20 20 20 20 20 20 20 ........DB_ERROR_SYNTAX.........
6100 20 20 20 20 3d 3e 20 27 73 79 6e 74 61 78 20 65 72 72 6f 72 27 2c 0a 20 20 20 20 20 20 20 20 20 ....=>.'syntax.error',..........
6120 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 55 4e 53 55 50 50 4f 52 54 45 44 20 20 20 20 20 .......DB_ERROR_UNSUPPORTED.....
6140 20 20 20 3d 3e 20 27 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 ...=>.'not.supported',..........
6160 20 20 20 20 20 20 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 .......DB_ERROR_VALUE_COUNT_ON_R
6180 4f 57 20 3d 3e 20 27 76 61 6c 75 65 20 63 6f 75 6e 74 20 6f 6e 20 72 6f 77 27 2c 0a 20 20 20 20 OW.=>.'value.count.on.row',.....
61a0 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 44 5f 44 53 4e ............DB_ERROR_INVALID_DSN
61c0 20 20 20 20 20 20 20 20 3d 3e 20 27 69 6e 76 61 6c 69 64 20 44 53 4e 27 2c 0a 20 20 20 20 20 20 ........=>.'invalid.DSN',.......
61e0 20 20 20 20 20 20 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 5f 46 41 49 4c 45 ..........DB_ERROR_CONNECT_FAILE
6200 44 20 20 20 20 20 3d 3e 20 27 63 6f 6e 6e 65 63 74 20 66 61 69 6c 65 64 27 2c 0a 20 20 20 20 20 D.....=>.'connect.failed',......
6220 20 20 20 20 20 20 20 20 20 20 20 44 42 5f 4f 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........DB_OK................
6240 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 20 65 72 72 6f 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 .......=>.'no.error',...........
6260 20 20 20 20 20 20 44 42 5f 57 41 52 4e 49 4e 47 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......DB_WARNING................
6280 20 20 3d 3e 20 27 75 6e 6b 6e 6f 77 6e 20 77 61 72 6e 69 6e 67 27 2c 0a 20 20 20 20 20 20 20 20 ..=>.'unknown.warning',.........
62a0 20 20 20 20 20 20 20 20 44 42 5f 57 41 52 4e 49 4e 47 5f 52 45 41 44 5f 4f 4e 4c 59 20 20 20 20 ........DB_WARNING_READ_ONLY....
62c0 20 20 20 20 3d 3e 20 27 72 65 61 64 20 6f 6e 6c 79 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....=>.'read.only',.............
62e0 20 20 20 20 44 42 5f 45 52 52 4f 52 5f 4e 45 45 44 5f 4d 4f 52 45 5f 44 41 54 41 20 20 20 20 20 ....DB_ERROR_NEED_MORE_DATA.....
6300 3d 3e 20 27 69 6e 73 75 66 66 69 63 69 65 6e 74 20 64 61 74 61 20 73 75 70 70 6c 69 65 64 27 2c =>.'insufficient.data.supplied',
6320 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 45 58 54 45 4e 53 .................DB_ERROR_EXTENS
6340 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 3d 3e 20 27 65 78 74 65 6e 73 69 6f 6e 20 6e 6f 74 20 66 ION_NOT_FOUND=>.'extension.not.f
6360 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 4f 52 5f ound',.................DB_ERROR_
6380 4e 4f 53 55 43 48 44 42 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 27 6e 6f 20 73 75 63 68 20 64 NOSUCHDB...........=>.'no.such.d
63a0 61 74 61 62 61 73 65 27 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 atabase',.......................
63c0 20 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 ..........DB_ERROR_ACCESS_VIOLAT
63e0 49 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 ION...=>.'insufficient.permissio
6400 6e 73 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 ns'.............................
6420 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 69 73 );.........}..........if.(DB::is
6440 45 72 72 6f 72 28 24 76 61 6c 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 Error($value)).{.............$va
6460 6c 75 65 20 3d 20 24 76 61 6c 75 65 2d 3e 67 65 74 43 6f 64 65 28 29 3b 0a 20 20 20 20 20 20 20 lue.=.$value->getCode();........
6480 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 65 72 72 6f 72 4d .}..........return.isset($errorM
64a0 65 73 73 61 67 65 73 5b 24 76 61 6c 75 65 5d 29 20 3f 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 essages[$value]).?.$errorMessage
64c0 73 5b 24 76 61 6c 75 65 5d 20 3a 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 73 5b 44 42 5f 45 52 s[$value].:.$errorMessages[DB_ER
64e0 52 4f 52 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 61 72 73 ROR];.....}....../**......*.Pars
6500 65 20 61 20 64 61 74 61 20 73 6f 75 72 63 65 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 e.a.data.source.name......*.....
6520 20 2a 20 41 20 61 72 72 61 79 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6b 65 .*.A.array.with.the.following.ke
6540 79 73 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 3a 0a 20 20 20 20 20 2a 20 20 70 68 70 ys.will.be.returned:......*..php
6560 74 79 70 65 3a 20 44 61 74 61 62 61 73 65 20 62 61 63 6b 65 6e 64 20 75 73 65 64 20 69 6e 20 50 type:.Database.backend.used.in.P
6580 48 50 20 28 6d 79 73 71 6c 2c 20 6f 64 62 63 20 65 74 63 2e 29 0a 20 20 20 20 20 2a 20 20 64 62 HP.(mysql,.odbc.etc.)......*..db
65a0 73 79 6e 74 61 78 3a 20 44 61 74 61 62 61 73 65 20 75 73 65 64 20 77 69 74 68 20 72 65 67 61 72 syntax:.Database.used.with.regar
65c0 64 73 20 74 6f 20 53 51 4c 20 73 79 6e 74 61 78 20 65 74 63 2e 0a 20 20 20 20 20 2a 20 20 70 72 ds.to.SQL.syntax.etc.......*..pr
65e0 6f 74 6f 63 6f 6c 3a 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 70 72 6f 74 6f 63 6f 6c 20 74 otocol:.Communication.protocol.t
6600 6f 20 75 73 65 20 28 74 63 70 2c 20 75 6e 69 78 20 65 74 63 2e 29 0a 20 20 20 20 20 2a 20 20 68 o.use.(tcp,.unix.etc.)......*..h
6620 6f 73 74 73 70 65 63 3a 20 48 6f 73 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 28 68 6f 73 ostspec:.Host.specification.(hos
6640 74 6e 61 6d 65 5b 3a 70 6f 72 74 5d 29 0a 20 20 20 20 20 2a 20 20 64 61 74 61 62 61 73 65 3a 20 tname[:port])......*..database:.
6660 44 61 74 61 62 61 73 65 20 74 6f 20 75 73 65 20 6f 6e 20 74 68 65 20 44 42 4d 53 20 73 65 72 76 Database.to.use.on.the.DBMS.serv
6680 65 72 0a 20 20 20 20 20 2a 20 20 75 73 65 72 6e 61 6d 65 3a 20 55 73 65 72 20 6e 61 6d 65 20 66 er......*..username:.User.name.f
66a0 6f 72 20 6c 6f 67 69 6e 0a 20 20 20 20 20 2a 20 20 70 61 73 73 77 6f 72 64 3a 20 50 61 73 73 77 or.login......*..password:.Passw
66c0 6f 72 64 20 66 6f 72 20 6c 6f 67 69 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 ord.for.login......*......*.The.
66e0 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 44 53 4e 20 69 73 20 69 6e format.of.the.supplied.DSN.is.in
6700 20 69 74 73 20 66 75 6c 6c 65 73 74 20 66 6f 72 6d 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .its.fullest.form:......*......*
6720 20 20 70 68 70 74 79 70 65 28 64 62 73 79 6e 74 61 78 29 3a 2f 2f 75 73 65 72 6e 61 6d 65 3a 70 ..phptype(dbsyntax)://username:p
6740 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 2f 64 61 74 61 62 61 assword@protocol+hostspec/databa
6760 73 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4d 6f 73 74 20 76 61 72 69 61 74 69 6f 6e 73 se......*......*.Most.variations
6780 20 61 72 65 20 61 6c 6c 6f 77 65 64 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 20 70 68 70 .are.allowed:......*......*..php
67a0 74 79 70 65 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 type://username:password@protoco
67c0 6c 2b 68 6f 73 74 73 70 65 63 3a 31 31 30 2f 2f 75 73 72 2f 64 62 5f 66 69 6c 65 2e 64 62 0a 20 l+hostspec:110//usr/db_file.db..
67e0 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 61 73 73 77 6f ....*..phptype://username:passwo
6800 72 64 40 68 6f 73 74 73 70 65 63 2f 64 61 74 61 62 61 73 65 5f 6e 61 6d 65 0a 20 20 20 20 20 2a rd@hostspec/database_name......*
6820 20 20 70 68 70 74 79 70 65 3a 2f 2f 75 73 65 72 6e 61 6d 65 3a 70 61 73 73 77 6f 72 64 40 68 6f ..phptype://username:password@ho
6840 73 74 73 70 65 63 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 stspec......*..phptype://usernam
6860 65 40 68 6f 73 74 73 70 65 63 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 3a 2f 2f 68 6f 73 e@hostspec......*..phptype://hos
6880 74 73 70 65 63 2f 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 3a 2f tspec/database......*..phptype:/
68a0 2f 68 6f 73 74 73 70 65 63 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 28 64 62 73 79 6e 74 /hostspec......*..phptype(dbsynt
68c0 61 78 29 0a 20 20 20 20 20 2a 20 20 70 68 70 74 79 70 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ax)......*..phptype......*......
68e0 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 44 61 74 61 20 53 6f 75 72 63 65 20 4e 61 6d 65 *.@param.string.Data.Source.Name
6900 20 74 6f 20 62 65 20 70 61 72 73 65 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 .to.be.parsed......*......*.@ret
6920 75 72 6e 20 61 72 72 61 79 20 61 6e 20 61 73 73 6f 63 69 61 74 69 76 65 20 61 72 72 61 79 0a 20 urn.array.an.associative.array..
6940 20 20 20 20 2a 0a 20 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 ....*......*.@author.Tomas.V.V.C
6960 6f 78 20 3c 63 6f 78 40 69 64 65 63 6e 65 74 2e 63 6f 6d 3e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ox.<cox@idecnet.com>......*/....
6980 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 44 53 4e 28 24 64 73 6e 29 0a 20 20 20 20 7b 0a 20 .function.parseDSN($dsn).....{..
69a0 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 64 73 6e 29 29 20 7b 0a 20 20 20 .......if.(is_array($dsn)).{....
69c0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a .........return.$dsn;.........}.
69e0 0a 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 .........$parsed.=.array(.......
6a00 20 20 20 20 20 20 27 70 68 70 74 79 70 65 27 20 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 ......'phptype'..=>.false,......
6a20 20 20 20 20 20 20 20 27 64 62 73 79 6e 74 61 78 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 20 .......'dbsyntax'.=>.false,.....
6a40 20 20 20 20 20 20 20 20 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 20 ........'username'.=>.false,....
6a60 20 20 20 20 20 20 20 20 20 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 20 .........'password'.=>.false,...
6a80 20 20 20 20 20 20 20 20 20 20 27 70 72 6f 74 6f 63 6f 6c 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 20 ..........'protocol'.=>.false,..
6aa0 20 20 20 20 20 20 20 20 20 20 20 27 68 6f 73 74 73 70 65 63 27 20 3d 3e 20 66 61 6c 73 65 2c 0a ...........'hostspec'.=>.false,.
6ac0 20 20 20 20 20 20 20 20 20 20 20 20 27 70 6f 72 74 27 20 20 20 20 20 3d 3e 20 66 61 6c 73 65 2c ............'port'.....=>.false,
6ae0 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 73 6f 63 6b 65 74 27 20 20 20 3d 3e 20 66 61 6c 73 65 .............'socket'...=>.false
6b00 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 61 74 61 62 61 73 65 27 20 3d 3e 20 66 61 6c 73 ,.............'database'.=>.fals
6b20 65 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 46 69 6e 64 20 70 68 e.........);..........//.Find.ph
6b40 70 74 79 70 65 20 61 6e 64 20 64 62 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 ptype.and.dbsyntax.........if.((
6b60 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 64 73 6e 2c 20 27 3a 2f 2f 27 29 29 20 21 3d 3d 20 $pos.=.strpos($dsn,.'://')).!==.
6b80 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 73 false).{.............$str.=.subs
6ba0 74 72 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 24 tr($dsn,.0,.$pos);.............$
6bc0 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 33 29 3b 0a 20 20 dsn.=.substr($dsn,.$pos.+.3);...
6be0 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 73 74 72 20 ......}.else.{.............$str.
6c00 3d 20 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 20 3d 20 4e 55 4c 4c 3b =.$dsn;.............$dsn.=.NULL;
6c20 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 47 65 74 20 70 68 70 74 79 .........}..........//.Get.phpty
6c40 70 65 20 61 6e 64 20 64 62 73 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 2f 2f 20 24 73 74 72 20 pe.and.dbsyntax.........//.$str.
6c60 3d 3e 20 70 68 70 74 79 70 65 28 64 62 73 79 6e 74 61 78 29 0a 20 20 20 20 20 20 20 20 69 66 20 =>.phptype(dbsyntax).........if.
6c80 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 28 2e 2b 3f 29 5c 28 28 2e 2a 3f 29 5c 29 24 7c 27 (preg_match('|^(.+?)\((.*?)\)$|'
6ca0 2c 20 24 73 74 72 2c 20 24 61 72 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ,.$str,.$arr)).{.............$pa
6cc0 72 73 65 64 5b 27 70 68 70 74 79 70 65 27 5d 20 20 3d 20 24 61 72 72 5b 31 5d 3b 0a 20 20 20 20 rsed['phptype']..=.$arr[1];.....
6ce0 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 64 62 73 79 6e 74 61 78 27 5d 20 3d 20 28 65 ........$parsed['dbsyntax'].=.(e
6d00 6d 70 74 79 28 24 61 72 72 5b 32 5d 29 29 20 3f 20 24 61 72 72 5b 31 5d 20 3a 20 24 61 72 72 5b mpty($arr[2])).?.$arr[1].:.$arr[
6d20 32 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 2];.........}.else.{............
6d40 20 24 70 61 72 73 65 64 5b 27 70 68 70 74 79 70 65 27 5d 20 20 3d 20 24 73 74 72 3b 0a 20 20 20 .$parsed['phptype']..=.$str;....
6d60 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 64 62 73 79 6e 74 61 78 27 5d 20 3d 20 24 .........$parsed['dbsyntax'].=.$
6d80 73 74 72 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 65 6d 70 74 str;.........}..........if.(empt
6da0 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 75 72 6e 20 24 70 y($dsn)).{.............return.$p
6dc0 61 72 73 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 47 65 74 arsed;.........}..........//.Get
6de0 20 28 69 66 20 66 6f 75 6e 64 29 3a 20 75 73 65 72 6e 61 6d 65 20 61 6e 64 20 70 61 73 73 77 6f .(if.found):.username.and.passwo
6e00 72 64 0a 20 20 20 20 20 20 20 20 2f 2f 20 24 64 73 6e 20 3d 3e 20 75 73 65 72 6e 61 6d 65 3a 70 rd.........//.$dsn.=>.username:p
6e20 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 2f 64 61 74 61 62 61 assword@protocol+hostspec/databa
6e40 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 24 61 74 20 3d 20 73 74 72 72 70 6f 73 28 24 64 se.........if.(($at.=.strrpos($d
6e60 73 6e 2c 27 40 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 sn,'@')).!==.false).{...........
6e80 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 24 61 74 29 3b 0a 20 ..$str.=.substr($dsn,.0,.$at);..
6ea0 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 20 3d 20 73 75 62 73 74 72 28 24 64 73 6e 2c 20 24 ...........$dsn.=.substr($dsn,.$
6ec0 61 74 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 70 6f 73 20 3d at.+.1);.............if.(($pos.=
6ee0 20 73 74 72 70 6f 73 28 24 73 74 72 2c 20 27 3a 27 29 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b .strpos($str,.':')).!==.false).{
6f00 0a 20 20 20 20 20 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 .................$parsed['userna
6f20 6d 65 27 5d 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 30 2c me'].=.urldecode(substr($str,.0,
6f40 20 24 70 6f 73 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 .$pos));.................$parsed
6f60 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 20 75 72 6c 64 65 63 6f 64 65 28 73 75 62 73 74 72 28 ['password'].=.urldecode(substr(
6f80 24 73 74 72 2c 20 24 70 6f 73 20 2b 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 $str,.$pos.+.1));.............}.
6fa0 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 73 65 64 5b 27 else.{.................$parsed['
6fc0 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 75 72 6c 64 65 63 6f 64 65 28 24 73 74 72 29 3b 0a 20 20 username'].=.urldecode($str);...
6fe0 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 2f ..........}.........}........../
7000 2f 20 46 69 6e 64 20 70 72 6f 74 6f 63 6f 6c 20 61 6e 64 20 68 6f 73 74 73 70 65 63 0a 0a 20 20 /.Find.protocol.and.hostspec....
7020 20 20 20 20 20 20 2f 2f 20 24 64 73 6e 20 3d 3e 20 70 72 6f 74 6f 28 70 72 6f 74 6f 5f 6f 70 74 ......//.$dsn.=>.proto(proto_opt
7040 73 29 2f 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 s)/database.........if.(preg_mat
7060 63 68 28 27 7c 5e 28 2e 2b 3f 29 5c 28 28 2e 2a 3f 29 5c 29 2f 3f 28 2e 2a 3f 29 24 7c 27 2c 20 ch('|^(.+?)\((.*?)\)/?(.*?)$|',.
7080 24 64 73 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 $dsn,.$match)).{.............$pr
70a0 6f 74 6f 20 20 20 20 20 20 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 oto.......=.$match[1];..........
70c0 20 20 20 24 70 72 6f 74 6f 5f 6f 70 74 73 20 20 3d 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 ...$proto_opts..=.(!empty($match
70e0 5b 32 5d 29 29 20 3f 20 24 6d 61 74 63 68 5b 32 5d 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 [2])).?.$match[2].:.false;......
7100 20 20 20 20 20 20 20 24 64 73 6e 20 20 20 20 20 20 20 20 20 3d 20 24 6d 61 74 63 68 5b 33 5d 3b .......$dsn.........=.$match[3];
7120 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 24 64 73 6e 20 3d 3e 20 70 72 6f 74 6f 63 6f 6c 2b 68 6f ..........//.$dsn.=>.protocol+ho
7140 73 74 73 70 65 63 2f 64 61 74 61 62 61 73 65 20 28 6f 6c 64 20 66 6f 72 6d 61 74 29 0a 20 20 20 stspec/database.(old.format)....
7160 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 69 66 20 28 73 74 .....}.else.{.............if.(st
7180 72 70 6f 73 28 24 64 73 6e 2c 20 27 2b 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 rpos($dsn,.'+').!==.false).{....
71a0 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 70 72 6f 74 6f 2c 20 24 64 73 6e 29 20 .............list($proto,.$dsn).
71c0 3d 20 65 78 70 6c 6f 64 65 28 27 2b 27 2c 20 24 64 73 6e 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 =.explode('+',.$dsn,.2);........
71e0 20 20 20 20 20 7d 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 .....}.............if.(strpos($d
7200 73 6e 2c 20 27 2f 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 sn,.'/').!==.false).{...........
7220 20 20 20 20 20 20 6c 69 73 74 28 24 70 72 6f 74 6f 5f 6f 70 74 73 2c 20 24 64 73 6e 29 20 3d 20 ......list($proto_opts,.$dsn).=.
7240 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 64 73 6e 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 explode('/',.$dsn,.2);..........
7260 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 72 6f ...}.else.{.................$pro
7280 74 6f 5f 6f 70 74 73 20 3d 20 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 to_opts.=.$dsn;.................
72a0 24 64 73 6e 20 3d 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 $dsn.=.null;.............}......
72c0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 70 72 6f 63 65 73 73 20 74 68 65 20 64 69 66 ...}..........//.process.the.dif
72e0 66 65 72 65 6e 74 20 70 72 6f 74 6f 63 6f 6c 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 ferent.protocol.options.........
7300 24 70 61 72 73 65 64 5b 27 70 72 6f 74 6f 63 6f 6c 27 5d 20 3d 20 28 21 65 6d 70 74 79 28 24 70 $parsed['protocol'].=.(!empty($p
7320 72 6f 74 6f 29 29 20 3f 20 24 70 72 6f 74 6f 20 3a 20 27 74 63 70 27 3b 0a 20 20 20 20 20 20 20 roto)).?.$proto.:.'tcp';........
7340 20 24 70 72 6f 74 6f 5f 6f 70 74 73 20 3d 20 75 72 6c 64 65 63 6f 64 65 28 24 70 72 6f 74 6f 5f .$proto_opts.=.urldecode($proto_
7360 6f 70 74 73 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 73 65 64 5b 27 70 72 6f 74 opts);.........if.($parsed['prot
7380 6f 63 6f 6c 27 5d 20 3d 3d 20 27 74 63 70 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ocol'].==.'tcp').{.............i
73a0 66 20 28 73 74 72 70 6f 73 28 24 70 72 6f 74 6f 5f 6f 70 74 73 2c 20 27 3a 27 29 20 21 3d 3d 20 f.(strpos($proto_opts,.':').!==.
73c0 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 28 24 70 false).{.................list($p
73e0 61 72 73 65 64 5b 27 68 6f 73 74 73 70 65 63 27 5d 2c 20 24 70 61 72 73 65 64 5b 27 70 6f 72 74 arsed['hostspec'],.$parsed['port
7400 27 5d 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 70 72 6f 74 6f 5f 6f 70 74 73 29 3b ']).=.explode(':',.$proto_opts);
7420 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.{...........
7440 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3d 20 24 70 72 6f ......$parsed['hostspec'].=.$pro
7460 74 6f 5f 6f 70 74 73 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 to_opts;.............}.........}
7480 20 65 6c 73 65 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 .elseif.($parsed['protocol'].==.
74a0 27 75 6e 69 78 27 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 73 'unix').{.............$parsed['s
74c0 6f 63 6b 65 74 27 5d 20 3d 20 24 70 72 6f 74 6f 5f 6f 70 74 73 3b 0a 20 20 20 20 20 20 20 20 7d ocket'].=.$proto_opts;.........}
74e0 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 47 65 74 20 64 61 62 61 73 65 20 69 66 20 61 6e 79 0a 20 ..........//.Get.dabase.if.any..
7500 20 20 20 20 20 20 20 2f 2f 20 24 64 73 6e 20 3d 3e 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 .......//.$dsn.=>.database......
7520 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 64 73 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ...if.(!empty($dsn)).{..........
7540 20 20 20 2f 2f 20 2f 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ...//./database.............if.(
7560 28 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 64 73 6e 2c 20 27 3f 27 29 29 20 3d 3d 3d 20 66 ($pos.=.strpos($dsn,.'?')).===.f
7580 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b alse).{.................$parsed[
75a0 27 64 61 74 61 62 61 73 65 27 5d 20 3d 20 24 64 73 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 'database'].=.$dsn;.............
75c0 2f 2f 20 2f 64 61 74 61 62 61 73 65 3f 70 61 72 61 6d 31 3d 76 61 6c 75 65 31 26 70 61 72 61 6d //./database?param1=value1&param
75e0 32 3d 76 61 6c 75 65 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 2=value2.............}.else.{...
7600 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'
7620 5d 20 3d 20 73 75 62 73 74 72 28 24 64 73 6e 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 20 20 20 20 20 ].=.substr($dsn,.0,.$pos);......
7640 20 20 20 20 20 20 20 20 20 20 20 24 64 73 6e 20 3d 20 73 75 62 73 74 72 28 24 64 73 6e 2c 20 24 ...........$dsn.=.substr($dsn,.$
7660 70 6f 73 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 pos.+.1);.................if.(st
7680 72 70 6f 73 28 24 64 73 6e 2c 20 27 26 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 rpos($dsn,.'&').!==.false).{....
76a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 73 20 3d 20 65 78 70 6c 6f 64 65 .................$opts.=.explode
76c0 28 27 26 27 2c 20 24 64 73 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 ('&',.$dsn);.................}.e
76e0 6c 73 65 20 7b 20 2f 2f 20 64 61 74 61 62 61 73 65 3f 70 61 72 61 6d 31 3d 76 61 6c 75 65 31 0a lse.{.//.database?param1=value1.
7700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 73 20 3d 20 61 72 72 61 ....................$opts.=.arra
7720 79 28 24 64 73 6e 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 y($dsn);.................}......
7740 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6f 70 74 73 20 61 73 20 24 6f 70 ...........foreach.($opts.as.$op
7760 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 6c 69 73 74 28 24 6b t).{.....................list($k
7780 65 79 2c 20 24 76 61 6c 75 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3d 27 2c 20 24 6f 70 74 29 ey,.$value).=.explode('=',.$opt)
77a0 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 69 73 73 65 74 ;.....................if.(!isset
77c0 28 24 70 61 72 73 65 64 5b 24 6b 65 79 5d 29 29 20 7b 20 2f 2f 20 64 6f 6e 27 74 20 61 6c 6c 6f ($parsed[$key])).{.//.don't.allo
77e0 77 20 70 61 72 61 6d 73 20 6f 76 65 72 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 w.params.overwrite..............
7800 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 64 5b 24 6b 65 79 5d 20 3d 20 75 72 6c 64 65 ...........$parsed[$key].=.urlde
7820 63 6f 64 65 28 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 code($value);...................
7840 20 20 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 ..}.................}...........
7860 20 20 7d 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 70 ..}.........}..........return.$p
7880 61 72 73 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 4c 6f 61 arsed;.....}....../**......*.Loa
78a0 64 20 61 20 50 48 50 20 64 61 74 61 62 61 73 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 66 20 69 74 d.a.PHP.database.extension.if.it
78c0 20 69 73 20 6e 6f 74 20 6c 6f 61 64 65 64 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 20 20 2a 0a 20 .is.not.loaded.already.......*..
78e0 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......*.....
7900 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 74 68 65 20 62 61 73 65 20 6e 61 6d 65 20 6f .*.@param.string.the.base.name.o
7920 66 20 74 68 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 f.the.extension.(without.the..so
7940 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 2e 64 6c 6c 20 73 75 .or......*................dll.su
7960 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 6f 6c ffix)......*......*.@return.bool
7980 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 61 6c ean.true.if.the.extension.was.al
79a0 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 20 20 ready.or.successfully......*....
79c0 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 69 74 .............loaded,.false.if.it
79e0 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 20 20 .could.not.be.loaded......*/....
7a00 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 65 29 .function.assertExtension($name)
7a20 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 6c 6f .....{.........if.(!extension_lo
7a40 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 65 78 aded($name)).{.............$dlex
7a60 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 27 3b t.=.OS_WINDOWS.?.'.dll'.:.'.so';
7a80 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 74 29 .............@dl($name...$dlext)
7aa0 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 65 78 74 65 6e ;.........}.........return.exten
7ac0 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a sion_loaded($name);.....}.}../**
7ae0 0a 20 2a 20 44 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 ..*.DB_Error.implements.a.class.
7b00 66 6f 72 20 72 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 for.reporting.portable.database.
7b20 65 72 72 6f 72 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 error..*.messages...*..*.@packag
7b40 65 20 20 44 42 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 e..DB..*.@author.Stig.Bakken.<ss
7b60 62 40 66 61 73 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 b@fast.no>..*/.class.DB_Error.ex
7b80 74 65 6e 64 73 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 tends.PEAR_Error.{...../**......
7ba0 2a 20 44 42 5f 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 *.DB_Error.constructor.......*..
7bc0 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 20 20 20 20 44 42 20 65 72 72 6f 72 ....*.@param.mixed......DB.error
7be0 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
7c00 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 20 20 20 77 68 age.......*.@param.integer....wh
7c20 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 69 6e 0a 20 20 at."error.mode".to.operate.in...
7c40 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 20 20 20 77 68 61 74 20 65 72 72 6f ...*.@param.integer....what.erro
7c60 72 20 6c 65 76 65 6c 20 74 6f 20 75 73 65 20 66 6f 72 20 24 6d 6f 64 65 20 26 20 50 45 41 52 5f r.level.to.use.for.$mode.&.PEAR_
7c80 45 52 52 4f 52 5f 54 52 49 47 47 45 52 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 ERROR_TRIGGER......*.@param.mixe
7ca0 64 20 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 64 65 62 75 67 20 69 6e 66 6f 2c 20 73 75 d......additional.debug.info,.su
7cc0 63 68 20 61 73 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 ch.as.the.last.query......*.....
7ce0 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......*......*.
7d00 40 73 65 65 20 50 45 41 52 5f 45 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e @see.PEAR_Error......*/......fun
7d20 63 74 69 6f 6e 20 44 42 5f 45 72 72 6f 72 28 24 63 6f 64 65 20 3d 20 44 42 5f 45 52 52 4f 52 2c ction.DB_Error($code.=.DB_ERROR,
7d40 20 24 6d 6f 64 65 20 3d 20 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 2c 0a 20 20 20 20 .$mode.=.PEAR_ERROR_RETURN,.....
7d60 20 20 20 20 20 20 20 20 20 20 24 6c 65 76 65 6c 20 3d 20 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 ..........$level.=.E_USER_NOTICE
7d80 2c 20 24 64 65 62 75 67 69 6e 66 6f 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ,.$debuginfo.=.null).....{......
7da0 20 20 20 69 66 20 28 69 73 5f 69 6e 74 28 24 63 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 ...if.(is_int($code)).{.........
7dc0 20 20 20 20 24 74 68 69 73 2d 3e 50 45 41 52 5f 45 72 72 6f 72 28 27 44 42 20 45 72 72 6f 72 3a ....$this->PEAR_Error('DB.Error:
7de0 20 27 20 2e 20 44 42 3a 3a 65 72 72 6f 72 4d 65 73 73 61 67 65 28 24 63 6f 64 65 29 2c 20 24 63 .'...DB::errorMessage($code),.$c
7e00 6f 64 65 2c 20 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 ode,.$mode,.$level,.$debuginfo);
7e20 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 74 .........}.else.{.............$t
7e40 68 69 73 2d 3e 50 45 41 52 5f 45 72 72 6f 72 28 22 44 42 20 45 72 72 6f 72 3a 20 24 63 6f 64 65 his->PEAR_Error("DB.Error:.$code
7e60 22 2c 20 44 42 5f 45 52 52 4f 52 2c 20 24 6d 6f 64 65 2c 20 24 6c 65 76 65 6c 2c 20 24 64 65 62 ",.DB_ERROR,.$mode,.$level,.$deb
7e80 75 67 69 6e 66 6f 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a uginfo);.........}.....}.}../**.
7ea0 20 2a 20 44 42 5f 57 61 72 6e 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 63 6c 61 73 73 .*.DB_Warning.implements.a.class
7ec0 20 66 6f 72 20 72 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 .for.reporting.portable.database
7ee0 0a 20 2a 20 77 61 72 6e 69 6e 67 20 6d 65 73 73 61 67 65 73 2e 0a 20 2a 0a 20 2a 20 40 70 61 63 ..*.warning.messages...*..*.@pac
7f00 6b 61 67 65 20 20 44 42 0a 20 2a 20 40 61 75 74 68 6f 72 20 53 74 69 67 20 42 61 6b 6b 65 6e 20 kage..DB..*.@author.Stig.Bakken.
7f20 3c 73 73 62 40 66 61 73 74 2e 6e 6f 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 44 42 5f 57 61 72 6e 69 <ssb@fast.no>..*/.class.DB_Warni
7f40 6e 67 20 65 78 74 65 6e 64 73 20 50 45 41 52 5f 45 72 72 6f 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a ng.extends.PEAR_Error.{...../**.
7f60 20 20 20 20 20 2a 20 44 42 5f 57 61 72 6e 69 6e 67 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 .....*.DB_Warning.constructor...
7f80 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 20 20 20 44 42 20 ....*......*.@param.mixed....DB.
7fa0 65 72 72 6f 72 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 error.code,.or.string.with.error
7fc0 20 6d 65 73 73 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 .message.......*.@param.integer.
7fe0 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 69 6e .what."error.mode".to.operate.in
8000 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 20 77 68 61 74 20 65 72 72 ......*.@param.integer..what.err
8020 6f 72 20 6c 65 76 65 6c 20 74 6f 20 75 73 65 20 66 6f 72 20 24 6d 6f 64 65 20 3d 3d 20 50 45 41 or.level.to.use.for.$mode.==.PEA
8040 52 5f 45 52 52 4f 52 5f 54 52 49 47 47 45 52 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 6d R_ERROR_TRIGGER......*.@param.mm
8060 69 78 65 64 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 64 65 62 75 67 20 69 6e 66 6f 2c 20 73 75 ixed...additional.debug.info,.su
8080 63 68 20 61 73 20 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 ch.as.the.last.query......*.....
80a0 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......*......*.
80c0 40 73 65 65 20 50 45 41 52 5f 45 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e @see.PEAR_Error......*/......fun
80e0 63 74 69 6f 6e 20 44 42 5f 57 61 72 6e 69 6e 67 28 24 63 6f 64 65 20 3d 20 44 42 5f 57 41 52 4e ction.DB_Warning($code.=.DB_WARN
8100 49 4e 47 2c 20 24 6d 6f 64 65 20 3d 20 50 45 41 52 5f 45 52 52 4f 52 5f 52 45 54 55 52 4e 2c 0a ING,.$mode.=.PEAR_ERROR_RETURN,.
8120 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 76 65 6c 20 3d 20 45 5f 55 53 45 52 5f 4e 4f 54 49 ............$level.=.E_USER_NOTI
8140 43 45 2c 20 24 64 65 62 75 67 69 6e 66 6f 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 CE,.$debuginfo.=.null).....{....
8160 20 20 20 20 20 69 66 20 28 69 73 5f 69 6e 74 28 24 63 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 .....if.(is_int($code)).{.......
8180 20 20 20 20 20 20 24 74 68 69 73 2d 3e 50 45 41 52 5f 45 72 72 6f 72 28 27 44 42 20 57 61 72 6e ......$this->PEAR_Error('DB.Warn
81a0 69 6e 67 3a 20 27 20 2e 20 44 42 3a 3a 65 72 72 6f 72 4d 65 73 73 61 67 65 28 24 63 6f 64 65 29 ing:.'...DB::errorMessage($code)
81c0 2c 20 24 63 6f 64 65 2c 20 24 6d 6f 64 65 2c 20 24 6c 65 76 65 6c 2c 20 24 64 65 62 75 67 69 6e ,.$code,.$mode,.$level,.$debugin
81e0 66 6f 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 fo);.........}.else.{...........
8200 20 20 24 74 68 69 73 2d 3e 50 45 41 52 5f 45 72 72 6f 72 28 22 44 42 20 57 61 72 6e 69 6e 67 3a ..$this->PEAR_Error("DB.Warning:
8220 20 24 63 6f 64 65 22 2c 20 30 2c 20 24 6d 6f 64 65 2c 20 24 6c 65 76 65 6c 2c 20 24 64 65 62 75 .$code",.0,.$mode,.$level,.$debu
8240 67 69 6e 66 6f 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 ginfo);.........}.....}.}../**..
8260 2a 20 54 68 69 73 20 63 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 77 72 61 70 70 65 *.This.class.implements.a.wrappe
8280 72 20 66 6f 72 20 61 20 44 42 20 72 65 73 75 6c 74 20 73 65 74 2e 0a 20 2a 20 41 20 6e 65 77 20 r.for.a.DB.result.set...*.A.new.
82a0 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 77 69 6c 6c 20 62 65 20 72 instance.of.this.class.will.be.r
82c0 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 44 42 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e eturned.by.the.DB.implementation
82e0 0a 20 2a 20 61 66 74 65 72 20 70 72 6f 63 65 73 73 69 6e 67 20 61 20 71 75 65 72 79 20 74 68 61 ..*.after.processing.a.query.tha
8300 74 20 72 65 74 75 72 6e 73 20 64 61 74 61 2e 0a 20 2a 0a 20 2a 20 40 70 61 63 6b 61 67 65 20 20 t.returns.data...*..*.@package..
8320 44 42 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 DB..*.@author.Stig.Bakken.<ssb@f
8340 61 73 74 2e 6e 6f 3e 0a 20 2a 2f 0a 0a 63 6c 61 73 73 20 44 42 5f 72 65 73 75 6c 74 0a 7b 0a 20 ast.no>..*/..class.DB_result.{..
8360 20 20 20 76 61 72 20 24 64 62 68 3b 0a 20 20 20 20 76 61 72 20 24 72 65 73 75 6c 74 3b 0a 20 20 ...var.$dbh;.....var.$result;...
8380 20 20 76 61 72 20 24 72 6f 77 5f 63 6f 75 6e 74 65 72 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 2f ..var.$row_counter.=.null;...../
83a0 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 73 2c 20 74 68 65 20 **.....*.for.limit.queries,.the.
83c0 72 6f 77 20 74 6f 20 73 74 61 72 74 20 66 65 74 63 68 69 6e 67 0a 20 20 20 20 2a 20 40 76 61 72 row.to.start.fetching.....*.@var
83e0 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 6c 69 6d 69 74 5f 66 .integer.....*/.....var.$limit_f
8400 72 6f 6d 20 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 66 6f 72 20 rom..=.null;....../**.....*.for.
8420 6c 69 6d 69 74 20 71 75 65 72 69 65 73 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 limit.queries,.the.number.of.row
8440 73 20 74 6f 20 66 65 74 63 68 0a 20 20 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 s.to.fetch.....*.@var.integer...
8460 20 20 2a 2f 0a 20 20 20 20 76 61 72 20 24 6c 69 6d 69 74 5f 63 6f 75 6e 74 20 3d 20 6e 75 6c 6c ..*/.....var.$limit_count.=.null
8480 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 42 5f 72 65 73 75 6c 74 20 63 6f 6e 73 ;....../**......*.DB_result.cons
84a0 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 72 65 73 6f 75 72 63 tructor.......*.@param...resourc
84c0 65 20 20 44 42 20 6f 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 e..DB.object.reference......*.@p
84e0 61 72 61 6d 20 20 20 72 65 73 6f 75 72 63 65 20 20 72 65 73 75 6c 74 20 72 65 73 6f 75 72 63 65 aram...resource..result.resource
8500 20 69 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 .id......*/......function.DB_res
8520 75 6c 74 28 26 24 64 62 68 2c 20 24 72 65 73 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ult(&$dbh,.$result).....{.......
8540 20 20 24 74 68 69 73 2d 3e 64 62 68 20 3d 20 26 24 64 62 68 3b 0a 20 20 20 20 20 20 20 20 24 74 ..$this->dbh.=.&$dbh;.........$t
8560 68 69 73 2d 3e 72 65 73 75 6c 74 20 3d 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 his->result.=.$result;.....}....
8580 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 20 61 20 ../**......*.Fetch.and.return.a.
85a0 72 6f 77 20 6f 66 20 64 61 74 61 20 28 69 74 20 75 73 65 73 20 64 72 69 76 65 72 2d 3e 66 65 74 row.of.data.(it.uses.driver->fet
85c0 63 68 49 6e 74 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 69 chInto.for.that)......*.@param.i
85e0 6e 74 20 20 66 6f 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 nt..format.of.fetched.row......*
8600 20 40 70 61 72 61 6d 20 69 6e 74 20 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 .@param.int..the.row.number.to.f
8620 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 72 61 etch......*......*.@return..arra
8640 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 6d 6f 72 65 y.a.row.of.data,.NULL.on.no.more
8660 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 0a 20 20 20 .rows.or.PEAR_Error.on.error....
8680 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......*
86a0 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 63 68 6d 6f /.....function.fetchRow($fetchmo
86c0 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 77 6e de.=.DB_FETCHMODE_DEFAULT,.$rown
86e0 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 74 63 um=null).....{.........if.($fetc
8700 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 29 20 hmode.===.DB_FETCHMODE_DEFAULT).
8720 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 69 73 {.............$fetchmode.=.$this
8740 2d 3e 64 62 68 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 ->dbh->fetchmode;.........}.....
8760 20 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 ....if.($fetchmode.===.DB_FETCHM
8780 4f 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 ODE_OBJECT).{.............$fetch
87a0 6d 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 mode.=.DB_FETCHMODE_ASSOC;......
87c0 20 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 64 62 .......$object_class.=.$this->db
87e0 68 2d 3e 66 65 74 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 h->fetchmode_object_class;......
8800 20 20 20 7d 0a 20 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 ...}.........if.($this->limit_fr
8820 6f 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 20 28 24 om.!==.null).{.............if.($
8840 74 68 69 73 2d 3e 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 this->row_counter.===.null).{...
8860 20 20 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 72 ..............$this->row_counter
8880 20 3d 20 24 74 68 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 .=.$this->limit_from;...........
88a0 20 20 20 20 20 20 2f 2f 20 46 6f 72 20 49 6e 74 65 72 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 ......//.For.Interbase..........
88c0 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 61 74 75 72 65 73 5b .......if.($this->dbh->features[
88e0 27 6c 69 6d 69 74 27 5d 20 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 'limit'].==.false).{............
8900 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........$i.=.0;................
8920 20 20 20 20 20 77 68 69 6c 65 20 28 24 69 2b 2b 20 3c 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f .....while.($i++.<.$this->limit_
8940 66 72 6f 6d 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 from).{.........................
8960 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
8980 75 6c 74 2c 20 24 61 72 72 2c 20 24 66 65 74 63 68 6d 6f 64 65 29 3b 0a 20 20 20 20 20 20 20 20 ult,.$arr,.$fetchmode);.........
89a0 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 ............}.................}.
89c0 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 69 66 20 28 24 74 ............}.............if.($t
89e0 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 20 3e 3d 20 28 0a 20 20 20 20 20 20 20 20 20 20 his->row_counter.>=.(...........
8a00 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 20 2b 20 24 74 ..........$this->limit_from.+.$t
8a20 68 69 73 2d 3e 6c 69 6d 69 74 5f 63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b his->limit_count)).............{
8a40 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;...
8a60 20 20 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 24 74 68 69 ..........}.............if.($thi
8a80 73 2d 3e 64 62 68 2d 3e 66 65 61 74 75 72 65 73 5b 27 6c 69 6d 69 74 27 5d 20 3d 3d 20 27 65 6d s->dbh->features['limit'].==.'em
8aa0 75 6c 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 ulate').{.................$rownu
8ac0 6d 20 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 m.=.$this->row_counter;.........
8ae0 20 20 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 ....}..............$this->row_co
8b00 75 6e 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 unter++;.........}.........$res.
8b20 3d 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 68 69 73 2d 3e 72 =.$this->dbh->fetchInto($this->r
8b40 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 75 6d esult,.$arr,.$fetchmode,.$rownum
8b60 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 20 7b );.........if.($res.!==.DB_OK).{
8b80 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 20 20 .............return.$res;.......
8ba0 20 20 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 ..}.........if.(isset($object_cl
8bc0 61 73 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 ass)).{.............//.default.m
8be0 6f 64 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 ode.specified.in.DB_common::fetc
8c00 68 6d 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 hmode_object_class.property.....
8c20 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 20 3d 3d 20 27 73 74 ........if.($object_class.==.'st
8c40 64 43 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 dClass').{.................$ret.
8c60 3d 20 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 =.(object).$arr;.............}.e
8c80 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 74 20 3d 26 20 6e 65 lse.{.................$ret.=&.ne
8ca0 77 20 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 w.$object_class($arr);..........
8cc0 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 72 65 74 3b 0a 20 20 ...}.............return.$ret;...
8ce0 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 20 20 20 ......}.........return.$arr;....
8d00 20 7d 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 .}....../**......*.Fetch.a.row.o
8d20 66 20 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 f.data.into.an.existing.variable
8d40 2e 0a 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 .......*......*.@param..mixed...
8d60 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 6e 69 6e 67 20 74 68 .reference.to.data.containing.th
8d80 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 67 65 72 20 20 66 6f e.row......*.@param..integer..fo
8da0 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
8dc0 6d 20 20 69 6e 74 65 67 65 72 20 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 20 74 6f 20 66 65 m..integer..the.row.number.to.fe
8de0 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 6d 69 78 65 64 tch......*......*.@return..mixed
8e00 20 20 44 42 5f 4f 4b 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 ..DB_OK.on.success,.NULL.on.no.m
8e20 6f 72 65 20 72 6f 77 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 ore.rows.or......*..............
8e40 20 20 20 61 20 44 42 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 ...a.DB_Error.object.on.error...
8e60 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......
8e80 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 28 26 24 61 72 72 2c */.....function.fetchInto(&$arr,
8ea0 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
8ec0 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).....{.........
8ee0 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 5f if.($fetchmode.===.DB_FETCHMODE_
8f00 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 68 6d 6f 64 DEFAULT).{.............$fetchmod
8f20 65 20 3d 20 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 74 63 68 6d 6f 64 65 3b 0a 20 20 20 20 20 e.=.$this->dbh->fetchmode;......
8f40 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 3d 3d 3d 20 ...}.........if.($fetchmode.===.
8f60 44 42 5f 46 45 54 43 48 4d 4f 44 45 5f 4f 42 4a 45 43 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 DB_FETCHMODE_OBJECT).{..........
8f80 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 41 53 53 ...$fetchmode.=.DB_FETCHMODE_ASS
8fa0 4f 43 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 20 3d 20 OC;.............$object_class.=.
8fc0 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 74 63 68 6d 6f 64 65 5f 6f 62 6a 65 63 74 5f 63 6c 61 $this->dbh->fetchmode_object_cla
8fe0 73 73 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 ss;.........}.........if.($this-
9000 3e 6c 69 6d 69 74 5f 66 72 6f 6d 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 >limit_from.!==.null).{.........
9020 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 3d 3d 3d 20 6e ....if.($this->row_counter.===.n
9040 75 6c 6c 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 72 6f ull).{.................$this->ro
9060 77 5f 63 6f 75 6e 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 6c 69 6d 69 74 5f 66 72 6f 6d 3b 0a 20 w_counter.=.$this->limit_from;..
9080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 6f 72 20 49 6e 74 65 72 62 61 73 65 0a ...............//.For.Interbase.
90a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 64 62 68 2d 3e ................if.($this->dbh->
90c0 66 65 61 74 75 72 65 73 5b 27 6c 69 6d 69 74 27 5d 20 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 features['limit'].==.false).{...
90e0 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 20 ..................$i.=.0;.......
9100 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 69 ..............while.($i++.<.$thi
9120 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 20 s->limit_from).{................
9140 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 24 .........$this->dbh->fetchInto($
9160 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 3b this->result,.$arr,.$fetchmode);
9180 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 20 .....................}..........
91a0 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 .......}.............}..........
91c0 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 20 ...if.($this->row_counter.>=.(..
91e0 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 5f ...................$this->limit_
9200 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 20 from.+.$this->limit_count)).....
9220 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 6e ........{.................return
9240 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 20 .null;.............}............
9260 20 69 66 20 28 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 61 74 75 72 65 73 5b 27 6c 69 6d 69 74 .if.($this->dbh->features['limit
9280 27 5d 20 3d 3d 20 27 65 6d 75 6c 61 74 65 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 '].==.'emulate').{..............
92a0 20 20 20 24 72 6f 77 6e 75 6d 20 3d 20 24 74 68 69 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 3b ...$rownum.=.$this->row_counter;
92c0 0a 20 20 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 74 68 69 .............}..............$thi
92e0 73 2d 3e 72 6f 77 5f 63 6f 75 6e 74 65 72 2b 2b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 s->row_counter++;.........}.....
9300 20 20 20 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 64 62 68 2d 3e 66 65 74 63 68 49 6e 74 6f ....$res.=.$this->dbh->fetchInto
9320 28 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 ($this->result,.$arr,.$fetchmode
9340 2c 20 24 72 6f 77 6e 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 24 72 65 73 20 3d 3d ,.$rownum);.........if.(($res.==
9360 3d 20 44 42 5f 4f 4b 29 20 26 26 20 69 73 73 65 74 28 24 6f 62 6a 65 63 74 5f 63 6c 61 73 73 29 =.DB_OK).&&.isset($object_class)
9380 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 65 20 ).{.............//.default.mode.
93a0 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 6f 64 specified.in.DB_common::fetchmod
93c0 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 20 20 e_object_class.property.........
93e0 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 6c 61 ....if.($object_class.==.'stdCla
9400 73 73 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 28 6f ss').{.................$arr.=.(o
9420 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 65 20 bject).$arr;.............}.else.
9440 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 6e 65 77 20 24 6f 62 {.................$arr.=.new.$ob
9460 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 20 7d 0a ject_class($arr);.............}.
9480 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 0a 20 ........}.........return.$res;..
94a0 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 74 68 65 ...}....../**......*.Get.the.the
94c0 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 74 20 73 .number.of.columns.in.a.result.s
94e0 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 20 74 68 et.......*......*.@return.int.th
9500 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 65 72 72 e.number.of.columns,.or.a.DB.err
9520 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 69 63 0a or......*......*.@access.public.
9540 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 29 0a 20 .....*/.....function.numCols()..
9560 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 68 2d 3e ...{.........return.$this->dbh->
9580 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 0a 0a 20 numCols($this->result);.....}...
95a0 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 6f 66 20 .../**......*.Get.the.number.of.
95c0 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 20 20 20 rows.in.a.result.set.......*....
95e0 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 20 72 6f ..*.@return.int.the.number.of.ro
9600 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 20 2a 20 ws,.or.a.DB.error......*......*.
9620 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
9640 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 65 74 75 ion.numRows().....{.........retu
9660 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 3e 72 65 rn.$this->dbh->numRows($this->re
9680 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 47 65 74 sult);.....}....../**......*.Get
96a0 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 66 20 71 .the.next.result.if.a.batch.of.q
96c0 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 20 20 20 ueries.was.executed.......*.....
96e0 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 20 72 65 .*.@return.bool.true.if.a.new.re
9700 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 20 6e 6f sult.is.available.or.false.if.no
9720 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 69 63 0a t.......*......*.@access.public.
9740 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(
9760 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
9780 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 0a 20 20 h->nextResult($this->result);...
97a0 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 20 72 65 ..}....../**......*.Frees.the.re
97c0 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 73 75 6c sources.allocated.for.this.resul
97e0 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 20 20 20 20 65 t.set.......*.@return..int.....e
9800 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 61 63 63 65 73 73 20 rror.code......*......*.@access.
9820 70 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 public......*/.....function.free
9840 28 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 ().....{.........$err.=.$this->d
9860 62 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 bh->freeResult($this->result);..
9880 20 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 .......if(DB::isError($err)).{..
98a0 20 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 ...........return.$err;.........
98c0 7d 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 }.........$this->result.=.false;
98e0 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 20 .........return.true;.....}.....
9900 20 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 ./**.....*.@deprecated.....*/...
9920 20 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 ..function.tableInfo($mode.=.nul
9940 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 64 l).....{.........return.$this->d
9960 62 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 bh->tableInfo($this->result,.$mo
9980 64 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 de);.....}....../**.....*.return
99a0 73 20 74 68 65 20 61 63 74 75 61 6c 20 72 6f 77 73 20 6e 75 6d 62 65 72 0a 20 20 20 20 2a 20 40 s.the.actual.rows.number.....*.@
99c0 72 65 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 return.integer.....*/.....functi
99e0 6f 6e 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 on.getRowCounter().....{........
9a00 20 72 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 .return.$this->row_counter;.....
9a20 7d 0a 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 }.}../**.*.Pear.DB.Row.Object.*.
9a40 40 73 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 @see.DB_common::setFetchMode().*
9a60 2f 0a 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 /.class.DB_row.{...../**.....*.c
9a80 6f 6e 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 onstructor.....*.....*.@param.re
9aa0 73 6f 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 source.row.data.as.array.....*/.
9ac0 20 20 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 ....function.DB_row(&$arr).....{
9ae0 0a 20 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 .........for.(reset($arr);.$key.
9b00 3d 20 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 =.key($arr);.next($arr)).{......
9b20 20 20 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 .......$this->$key.=.&$arr[$key]
9b40 3b 0a 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 ;.........}.....}.}..?>.........
9b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c00 44 42 2d 31 2e 32 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.2/DB/common.php............
9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
9c80 20 31 30 35 35 32 30 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 33 36 35 20 00 00 00 00 00 .105520..7466465701...7365......
9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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 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.//.//.+-------------------
9e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
9e40 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
9e60 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.........................
9e80 20 20 20 20 20 20 20 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 ...............................|
9ea0 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 .//.+---------------------------
9ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
9ee0 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).
9f00 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.........
9f20 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 .......................|.//.+---
9f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
9f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
9f80 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
9fa0 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
9fc0 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
9fe0 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
a000 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........|.//.
a020 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
a040 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
a060 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
a080 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...............
a0a0 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
a0c0 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
a0e0 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...|
a100 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
a120 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
a140 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
a160 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
a180 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................|.//.+---
a1a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a1c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a1e0 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
a200 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>.....................
a220 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 ...............|.//.+-----------
a240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a260 2d 2d 2d 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 ---------------------------+.//.
a280 2f 2f 20 24 49 64 3a 20 63 6f 6d 6d 6f 6e 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 //.$Id:.common.php,v.1.3.2002/05
a2a0 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 42 61 73 /09.12:29:53.ssb.Exp.$.//.//.Bas
a2c0 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..
a2e0 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
a300 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
a320 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
a340 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.
a360 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....
a380 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
a3a0 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.....
a3c0 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
a3e0 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.
a400 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.....*....................
a420 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
a440 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
a460 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.
a480 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;.
a4a0 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
a4c0 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.....*
a4e0 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
a500 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
a520 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.).....*
a540 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
a560 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...
a580 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;...
a5a0 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.....*/.
a5c0 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;....../**
a5e0 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
a600 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;....../**...
a620 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.
a640 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;....../**..
a660 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.
a680 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.=.'';....../**.....*
a6a0 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
a6c0 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;.
a6e0 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.....*
a700 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
a720 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';....../**.....*.$
a740 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
a760 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
a780 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"].->
a7a0 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
a7c0 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"].-
a7e0 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...
a800 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
a820 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
a840 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
a860 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
a880 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
a8a0 74 27 20 3d 3e 20 27 25 73 5f 73 65 71 27 2c 0a 20 20 20 20 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a t'.=>.'%s_seq',.....);....../**.
a8c0 20 20 20 20 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 ....*.DB.handle.....*.@var.resou
a8e0 72 63 65 0a 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 rce.....*/.....var.$dbh;......//
a900 20 7d 7d 7d 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 .}}}.....//.{{{.toString()...../
a920 2a 2a 0a 20 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 **.....*.String.conversation....
a940 20 2a 0a 20 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 .*.....*.@return.string.....*.@a
a960 63 63 65 73 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 ccess.private.....*/.....functio
a980 6e 20 74 6f 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 n.toString().....{.........$info
a9a0 20 3d 20 67 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 .=.get_class($this);.........$in
a9c0 66 6f 20 2e 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 fo..=..":.(phptype="...$this->ph
a9e0 70 74 79 70 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 ptype.....................",.dbs
aa00 79 6e 74 61 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 yntax="...$this->dbsyntax.......
aa20 20 20 20 20 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 ..............")";..........if.(
aa40 24 74 68 69 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 $this->connection).{............
aa60 20 24 69 6e 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 .$info..=.".[connected]";.......
aa80 20 20 7d 0a 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 ..}..........return.$info;.....}
aaa0 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
aac0 74 6f 72 0a 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 tor...../**.....*.Constructor...
aae0 20 20 2a 2f 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 ..*/.....function.DB_common()...
ab00 20 20 7b 0a 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 ..{.........$this->PEAR('DB_Erro
ab20 72 27 29 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 r');.........$this->features.=.a
ab40 72 72 61 79 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 rray();.........$this->errorcode
ab60 5f 6d 61 70 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 _map.=.array();.........$this->f
ab80 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 45 44 3b etchmode.=.DB_FETCHMODE_ORDERED;
aba0 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 71 75 .....}......//.}}}.....//.{{{.qu
abc0 6f 74 65 53 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 oteString()....../**......*.Quot
abe0 65 73 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 es.a.string.so.it.can.be.safely.
ac00 75 73 65 64 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 used.within.string.delimiters...
ac20 20 20 20 2a 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 ...*.in.a.query.(preserved.for.c
ac40 6f 6d 70 61 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 ompatibility.issues,.quote().is.
ac60 70 72 65 66 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 preffered).......*......*.@retur
ac80 6e 20 73 74 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 n.string.quoted.string......*.@a
aca0 63 63 65 73 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 ccess.public......*.@see.quote()
acc0 0a 20 20 20 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 ......*/.....function.quoteStrin
ace0 67 28 24 73 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 g($string).....{.........$string
ad00 20 3d 20 24 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 .=.$this->quote($string);.......
ad20 20 20 69 66 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 ..if.($string{0}.==."'").{......
ad40 20 20 20 20 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 .......return.substr($string,.1,
ad60 20 2d 31 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 .-1);.........}.........return.$
ad80 73 74 72 69 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 string;.....}....../**......*.Qu
ada0 6f 74 65 73 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 otes.a.string.so.it.can.be.safel
adc0 79 20 75 73 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 y.used.in.a.query..It.will.retur
ade0 6e 0a 20 20 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 n......*.the.string.with.single.
ae00 71 75 6f 74 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 quotes.around..Other.backend.quo
ae20 74 65 20 73 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 te.styles......*.should.override
ae40 20 74 68 69 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 .this.method.......*......*.@par
ae60 61 6d 20 73 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 am.string.$string.the.input.stri
ae80 6e 67 20 74 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 ng.to.quote......*......*.@retur
aea0 6e 20 73 74 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 n.string.The.NULL.string.or.the.
aec0 73 74 72 69 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 string.quotes......*............
aee0 20 20 20 20 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 ....in.magic_quote_sybase.style.
af00 20 20 20 20 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 .....*/.....function.quote($stri
af20 6e 67 29 0a 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 ng).....{.........return.($strin
af40 67 20 3d 3d 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 g.===.null).?.'NULL'.:."'".str_r
af60 65 70 6c 61 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 eplace("'",."''",.$string)."'";.
af80 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 70 72 6f ....}......//.}}}.....//.{{{.pro
afa0 76 69 64 65 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 vides()....../**......*.Tell.whe
afc0 74 68 65 72 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 ther.a.DB.implementation.or.its.
afe0 62 61 63 6b 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 backend.extension......*.support
b000 73 20 61 20 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 s.a.given.feature.......*......*
b020 20 40 70 61 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 .@param.array.$feature.name.of.t
b040 68 65 20 66 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 he.feature.(see.the.DB.class.doc
b060 29 0a 20 20 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 )......*.@return.bool.whether.th
b080 69 73 20 44 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 is.DB.implementation.supports.$f
b0a0 65 61 74 75 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 eature......*.@access.public....
b0c0 20 20 2a 2f 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 ..*/......function.provides($fea
b0e0 74 75 72 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 ture).....{.........return.$this
b100 2d 3e 66 65 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 ->features[$feature];.....}.....
b120 20 2f 2f 20 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 .//.}}}.....//.{{{.errorCode()..
b140 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 20 ..../**......*.Map.native.error.
b160 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 65 codes.to.DB's.portable.ones...Re
b180 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 6d quires.that......*.the.DB.implem
b1a0 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 20 entation's.constructor.fills.in.
b1c0 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 72 the.$errorcode_map......*.proper
b1e0 74 79 2e 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 ty.......*......*.@param.mixed.$
b200 6e 61 74 69 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 nativecode.the.native.error.code
b220 2c 20 61 73 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 ,.as.returned.by.the.backend....
b240 20 20 2a 20 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 ..*.database.extension.(string.o
b260 72 20 69 6e 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 r.integer)......*......*.@return
b280 20 69 6e 74 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 .int.a.portable.DB.error.code,.o
b2a0 72 20 46 41 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 r.FALSE.if.this.DB......*.implem
b2c0 65 6e 74 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 entation.has.no.mapping.for.the.
b2e0 67 69 76 65 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 given.error.code.......*......*.
b300 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
b320 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).....
b340 7b 0a 20 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 {.........if.(isset($this->error
b360 63 6f 64 65 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 code_map[$nativecode])).{.......
b380 20 20 20 20 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 ......return.$this->errorcode_ma
b3a0 70 5b 24 6e 61 74 69 76 65 63 6f 64 65 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 p[$nativecode];.........}.......
b3c0 20 20 20 2f 2f 70 68 70 5f 65 72 72 6f 72 28 45 5f 57 41 52 4e 49 4e 47 2c 20 67 65 74 5f 63 6c ...//php_error(E_WARNING,.get_cl
b3e0 61 73 73 28 24 74 68 69 73 29 2e 22 3a 3a 65 72 72 6f 72 43 6f 64 65 3a 20 6e 6f 20 6d 61 70 70 ass($this)."::errorCode:.no.mapp
b400 69 6e 67 20 66 6f 72 20 24 6e 61 74 69 76 65 63 6f 64 65 22 29 3b 0a 20 20 20 20 20 20 20 20 2f ing.for.$nativecode");........./
b420 2f 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 /.Fall.back.to.DB_ERROR.if.there
b440 20 77 61 73 20 6e 6f 20 6d 61 70 70 69 6e 67 2e 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .was.no.mapping...........return
b460 20 44 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 .DB_ERROR;.....}......//.}}}....
b480 20 2f 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 .//.{{{.errorMessage()....../**.
b4a0 20 20 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 .....*.Map.a.DB.error.code.to.a.
b4c0 74 65 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 textual.message...This.is.actual
b4e0 6c 79 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 ly......*.just.a.wrapper.for.DB:
b500 3a 65 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 :errorMessage().......*......*.@
b520 70 61 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 param.integer.$dbcode.the.DB.err
b540 6f 72 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 or.code......*......*.@return.st
b560 72 69 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 ring.the.corresponding.error.mes
b580 73 61 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 sage,.of.FALSE......*.if.the.err
b5a0 6f 72 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 or.code.was.unknown......*......
b5c0 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 0a 20 20 20 20 66 75 *.@access.public......*/......fu
b5e0 6e 63 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 nction.errorMessage($dbcode)....
b600 20 7b 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 .{.........return.DB::errorMessa
b620 67 65 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 ge($this->errorcode_map[$dbcode]
b640 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 );.....}......//.}}}.....//.{{{.
b660 72 61 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 raiseError()....../**......*.Thi
b680 73 20 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 s.method.is.used.to.communicate.
b6a0 61 6e 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 an.error.and.invoke.error......*
b6c0 20 63 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 .callbacks.etc...Basically.a.wra
b6e0 70 70 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 pper.for.PEAR::raiseError......*
b700 20 77 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 .without.the.message.string.....
b720 20 20 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 ..*......*.@param.mixed....integ
b740 65 72 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 er.error.code,.or.a.PEAR.error.o
b760 62 6a 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 bject.(all......*...............
b780 20 20 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 ..other.parameters.are.ignored.i
b7a0 66 20 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 f.this.parameter.is......*......
b7c0 20 20 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 ...........an.object......*.....
b7e0 20 2a 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 .*.@param.int......error.mode,.s
b800 65 65 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 ee.PEAR_Error.docs......*......*
b820 20 40 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 .@param.mixed....If.error.mode.i
b840 73 20 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 s.PEAR_ERROR_TRIGGER,.this.is.th
b860 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 65 72 72 6f 72 20 6c e......*.................error.l
b880 65 76 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 evel.(E_USER_NOTICE.etc)...If.er
b8a0 72 6f 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 ror.mode.is......*..............
b8c0 20 20 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 ...PEAR_ERROR_CALLBACK,.this.is.
b8e0 74 68 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 the.callback.function,......*...
b900 20 20 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 ..............either.as.a.functi
b920 6f 6e 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 on.name,.or.as.an.array.of.an...
b940 20 20 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 ...*.................object.and.
b960 6d 65 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 method.name...For.other.error.mo
b980 64 65 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 des.this......*.................
b9a0 70 61 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 parameter.is.ignored.......*....
b9c0 20 20 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 ..*.@param.string...Extra.debug.
b9e0 69 6e 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 information...Defaults.to.the.la
ba00 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 71 75 65 72 79 20 st......*.................query.
ba20 61 6e 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 and.native.error.code.......*...
ba40 20 20 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 ...*.@param.mixed....Native.erro
ba60 72 20 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 r.code,.integer.or.string.depend
ba80 69 6e 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 ing.the......*.................b
baa0 61 63 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 ackend.......*......*.@return.ob
bac0 6a 65 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 ject..a.PEAR.error.object......*
bae0 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 40 73 ......*.@access.public......*.@s
bb00 65 65 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 ee.PEAR_Error......*/.....functi
bb20 6f 6e 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 on.&raiseError($code.=.DB_ERROR,
bb40 20 24 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 .$mode.=.null,.$options.=.null,.
bb60 20 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 75 73 65 72 69 6e .........................$userin
bb80 66 6f 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 fo.=.null,.$nativecode.=.null)..
bba0 20 20 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 ...{.........//.The.error.is.yet
bbc0 20 61 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 .a.DB.error.object.........if.(i
bbe0 73 5f 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 s_object($code)).{............./
bc00 2f 20 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 /.because.we.the.static.PEAR::ra
bc20 69 73 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 iseError,.our.global............
bc40 20 2f 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 .//.handler.should.be.used.if.it
bc60 20 69 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 .is.set.............if.($mode.==
bc80 3d 20 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 =.null.&&.!empty($this->_default
bca0 5f 65 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 _error_mode)).{.................
bcc0 24 6d 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 $mode....=.$this->_default_error
bce0 5f 6d 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 _mode;.................$options.
bd00 3d 20 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 =.$this->_default_error_options;
bd20 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 75 72 .............}.............retur
bd40 6e 20 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 n.PEAR::raiseError($code,.null,.
bd60 24 6d 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 $mode,.$options,.null,.null,.tru
bd80 65 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 24 75 73 65 72 e);.........}..........if.($user
bda0 69 6e 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 info.===.null).{.............$us
bdc0 65 72 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 erinfo.=.$this->last_query;.....
bde0 20 20 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 ....}..........if.($nativecode).
be00 7b 0a 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 {.............$userinfo..=.".[na
be20 74 69 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 tivecode=$nativecode]";.........
be40 7d 0a 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 }..........return.PEAR::raiseErr
be60 6f 72 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 or(null,.$code,.$mode,.$options,
be80 20 24 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 .$userinfo,.....................
bea0 20 20 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 ..............'DB_Error',.true);
bec0 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 73 65 .....}......//.}}}.....//.{{{.se
bee0 74 46 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 tFetchMode()....../**......*.Set
bf00 73 20 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 s.which.fetch.mode.should.be.use
bf20 64 20 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 d.by.default.on.queries......*.o
bf40 6e 20 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 n.this.connection.......*......*
bf60 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 44 42 5f 46 45 .@param.integer.$fetchmode.DB_FE
bf80 54 43 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 TCHMODE_ORDERED.or......*.......
bfa0 20 44 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 .DB_FETCHMODE_ASSOC,.possibly.bi
bfc0 74 2d 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 t-wise.OR'ed.with......*........
bfe0 44 42 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 DB_FETCHMODE_FLIPPED.......*....
c000 20 20 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 ..*.@param.string.$object_class.
c020 54 68 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 The.class.of.the.object......*..
c040 20 20 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 ....................to.be.return
c060 65 64 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 ed.by.the.fetch.methods.when....
c080 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 74 68 65 20 44 42 5f ..*......................the.DB_
c0a0 46 45 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 FETCHMODE_OBJECT.mode.is.selecte
c0c0 64 2e 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 d.......*......................I
c0e0 66 20 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 f.no.class.is.specified.by.defau
c100 6c 74 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 lt.a.cast......*................
c120 20 20 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 ......to.object.from.the.assoc.a
c140 72 72 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 rray.row.will.be.done.......*...
c160 20 20 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 ...................There.is.also
c180 20 74 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 .the.posibility.to.use.and.exten
c1a0 64 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 20 20 20 d.the......*....................
c1c0 20 20 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 ..'DB_Row'.class.......*......*.
c1e0 40 73 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 @see.DB_FETCHMODE_ORDERED......*
c200 20 40 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 .@see.DB_FETCHMODE_ASSOC......*.
c220 40 73 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 @see.DB_FETCHMODE_FLIPPED......*
c240 20 40 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 .@see.DB_FETCHMODE_OBJECT......*
c260 20 40 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 .@see.DB_Row::DB_Row()......*.@a
c280 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 74 69 ccess.public......*/......functi
c2a0 6f 6e 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 on.setFetchMode($fetchmode,.$obj
c2c0 65 63 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 ect_class.=.null).....{.........
c2e0 73 77 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 switch.($fetchmode).{...........
c300 20 20 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 ..case.DB_FETCHMODE_OBJECT:.....
c320 20 20 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 ............if.($object_class).{
c340 0a 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 66 65 74 63 .....................$this->fetc
c360 68 6d 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 hmode_object_class.=.$object_cla
c380 73 73 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 ss;.................}...........
c3a0 20 20 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 ..case.DB_FETCHMODE_ORDERED:....
c3c0 20 20 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 .........case.DB_FETCHMODE_ASSOC
c3e0 3a 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 74 63 68 6d 6f :.................$this->fetchmo
c400 64 65 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 de.=.$fetchmode;................
c420 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 20 20 20 .break;.............default:....
c440 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 65 .............return.$this->raise
c460 45 72 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 Error('invalid.fetchmode.mode');
c480 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 7d 0a 20 20 20 .........}.....}......//.}}}....
c4a0 20 2f 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 .//.{{{.setOption()...../**.....
c4c0 2a 20 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 *.set.the.option.for.the.db.clas
c4e0 73 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 6f 70 74 s.....*.....*.@param.string.$opt
c500 69 6f 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 ion.option.name.....*.@param.mix
c520 65 64 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 ed..$value.value.for.the.option.
c540 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 42 5f 4f 4b 20 ....*.....*.@return.mixed.DB_OK.
c560 6f 72 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 or.DB_Error.....*/.....function.
c580 73 65 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 setOption($option,.$value).....{
c5a0 0a 20 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 .........if.(isset($this->option
c5c0 73 5b 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 s[$option])).{.............$this
c5e0 2d 3e 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 ->options[$option].=.$value;....
c600 20 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 20 20 20 20 7d .........return.DB_OK;.........}
c620 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 6f .........return.$this->raiseErro
c640 72 28 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 r("unknown.option.$option");....
c660 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 4f 70 74 .}......//.}}}.....//.{{{.getOpt
c680 69 6f 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 ion()...../**.....*.returns.the.
c6a0 76 61 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 value.of.an.option.....*.....*.@
c6c0 70 61 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 param.string.$option.option.name
c6e0 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 74 68 65 20 6f .....*.....*.@return.mixed.the.o
c700 70 74 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 ption.value.....*/.....function.
c720 67 65 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 getOption($option).....{........
c740 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 24 6f 70 74 69 6f .if.(isset($this->options[$optio
c760 6e 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 24 74 68 69 73 2d n])).{.............return.$this-
c780 3e 6f 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 >options[$option];.........}....
c7a0 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 22 75 .....return.$this->raiseError("u
c7c0 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 0a 0a nknown.option.$option");.....}..
c7e0 20 20 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 ....//.}}}.....//.{{{.prepare().
c800 0a 20 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 ...../**.....*.Prepares.a.query.
c820 66 6f 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 for.multiple.execution.with.exec
c840 75 74 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 ute()......*.With.some.database.
c860 62 61 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 backends,.this.is.emulated......
c880 2a 20 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 *.prepare().requires.a.generic.q
c8a0 75 65 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 uery.as.string.like.....*."INSER
c8c0 54 20 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 T.INTO.numbers.VALUES(?,?,?)"..T
c8e0 68 65 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 he.?.are.wildcards......*.Types.
c900 6f 66 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 of.wildcards:.....*...?.-.a.quot
c920 65 64 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 ed.scalar.value,.i.e..strings,.i
c940 6e 74 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 ntegers.....*...&.-.requires.a.f
c960 69 6c 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 ile.name,.the.content.of.the.fil
c980 65 0a 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 e.....*.......insert.into.the.qu
c9a0 65 72 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 ery.(i.e..saving.binary.data....
c9c0 20 2a 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 .*.......in.a.db).....*...!.-.va
c9e0 6c 75 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 lue.is.inserted.'as.is'.....*...
ca00 20 20 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 ..*.@param.string.the.query.to.p
ca20 72 65 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 repare.....*.....*.@return.resou
ca40 72 63 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 rce.handle.for.the.query.....*..
ca60 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 20 40 73 65 65 20 65 ...*.@access.public.....*.@see.e
ca80 78 65 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 xecute.....*/......function.prep
caa0 61 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 6f 6b 65 6e are($query).....{.........$token
cac0 73 20 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 s.=.split("[\&\?\!]",.$query);..
cae0 20 20 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 .......$token.=.0;.........$type
cb00 73 20 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 s.=.array();..........for.($i.=.
cb20 30 3b 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 0;.$i.<.strlen($query);.$i++).{.
cb40 20 20 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 ............switch.($query[$i]).
cb60 7b 0a 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 {.................case.'?':.....
cb80 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 2b 5d ................$types[$token++]
cba0 20 3d 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 .=.DB_PARAM_SCALAR;.............
cbc0 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 20 20 20 20 63 ........break;.................c
cbe0 61 73 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 ase.'&':.....................$ty
cc00 70 65 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 pes[$token++].=.DB_PARAM_OPAQUE;
cc20 0a 20 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 .....................break;.....
cc40 20 20 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 ............case.'!':...........
cc60 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 20 44 42 5f ..........$types[$token++].=.DB_
cc80 50 41 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 PARAM_MISC;.....................
cca0 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 20 20 7d 0a 0a break;.............}.........}..
ccc0 20 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 5b 5d 20 ........$this->prepare_tokens[].
cce0 3d 20 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 =.&$tokens;.........end($this->p
cd00 72 65 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 repare_tokens);..........$k.=.ke
cd20 79 28 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 y($this->prepare_tokens);.......
cd40 20 20 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 ..$this->prepare_types[$k].=.$ty
cd60 70 65 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 pes;.........$this->prepared_que
cd80 72 69 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 ries[$k].=.&$query;..........ret
cda0 75 72 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 urn.$k;.....}......//.}}}.....//
cdc0 20 7b 7b 7b 20 65 78 65 63 75 74 65 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 45 78 65 .{{{.execute()...../**.....*.Exe
cde0 63 75 74 65 73 20 61 20 70 72 65 70 61 72 65 64 20 53 51 4c 20 71 75 65 72 79 0a 20 20 20 20 2a cutes.a.prepared.SQL.query.....*
ce00 20 57 69 74 68 20 65 78 65 63 75 74 65 28 29 20 74 68 65 20 67 65 6e 65 72 69 63 20 71 75 65 72 .With.execute().the.generic.quer
ce20 79 20 6f 66 20 70 72 65 70 61 72 65 20 69 73 0a 20 20 20 20 2a 20 61 73 73 69 67 6e 65 64 20 77 y.of.prepare.is.....*.assigned.w
ce40 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 64 61 74 61 20 61 72 72 61 79 2e 20 54 68 65 20 76 61 ith.the.given.data.array..The.va
ce60 6c 75 65 73 0a 20 20 20 20 2a 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 69 6e 73 65 72 74 65 64 lues.....*.of.the.array.inserted
ce80 20 69 6e 74 6f 20 74 68 65 20 71 75 65 72 79 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 .into.the.query.in.the.same.....
cea0 2a 20 6f 72 64 65 72 20 6c 69 6b 65 20 74 68 65 20 61 72 72 61 79 20 6f 72 64 65 72 0a 20 20 20 *.order.like.the.array.order....
cec0 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 73 6f 75 72 63 65 20 24 73 74 6d 74 20 71 .*.....*.@param.resource.$stmt.q
cee0 75 65 72 79 20 68 61 6e 64 6c 65 20 66 72 6f 6d 20 70 72 65 70 61 72 65 28 29 0a 20 20 20 20 2a uery.handle.from.prepare().....*
cf00 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 24 64 61 74 61 20 6e 75 6d 65 72 69 63 20 61 .@param.array....$data.numeric.a
cf20 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 20 20 20 20 2a 20 20 20 20 20 20 20 rray.containing.the.....*.......
cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 20 74 6f 20 69 6e 73 65 72 74 20 69 ................data.to.insert.i
cf60 6e 74 6f 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 72 65 74 75 72 nto.the.query.....*.....*.@retur
cf80 6e 20 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 n.mixed..a.new.DB_Result.or.a.DB
cfa0 5f 45 72 72 6f 72 20 77 68 65 6e 20 66 61 69 6c 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 63 _Error.when.fail.....*.....*.@ac
cfc0 63 65 73 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 20 40 73 65 65 20 70 72 65 70 61 72 65 28 29 cess.public.....*.@see.prepare()
cfe0 0a 20 20 20 20 2a 2f 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 .....*/.....function.execute($st
d000 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 20 20 20 mt,.$data.=.false).....{........
d020 20 24 72 65 61 6c 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 45 6d 75 6c .$realquery.=.$this->executeEmul
d040 61 74 65 51 75 65 72 79 28 24 73 74 6d 74 2c 20 24 64 61 74 61 29 3b 0a 20 20 20 20 20 20 20 20 ateQuery($stmt,.$data);.........
d060 69 66 20 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 72 65 61 6c 71 75 65 72 79 29 29 20 7b 0a 20 if.(DB::isError($realquery)).{..
d080 20 20 20 20 20 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 ...........return.$realquery;...
d0a0 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 24 74 68 69 73 2d ......}.........$result.=.$this-
d0c0 3e 73 69 6d 70 6c 65 51 75 65 72 79 28 24 72 65 61 6c 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 >simpleQuery($realquery);.......
d0e0 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
d100 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
d120 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.{.
d140 20 20 20 20 20 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 ............return.new.DB_result
d160 28 24 74 68 69 73 2c 20 24 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ($this,.$result);.........}.....
d180 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
d1a0 45 6d 75 6c 61 74 65 51 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 45 6d EmulateQuery()....../**.....*.Em
d1c0 75 6c 61 74 65 73 20 74 68 65 20 65 78 65 63 75 74 65 20 73 74 61 74 65 6d 65 6e 74 2c 20 77 68 ulates.the.execute.statement,.wh
d1e0 65 6e 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 en.not.supported.....*.....*.@pa
d200 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.
d220 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
d240 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
d260 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.....*...................
d280 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
d2a0 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 61 20 73 74 y.....*.....*.@return.mixed.a.st
d2c0 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 72 65 61 6c 20 71 75 65 72 79 20 72 ring.containing.the.real.query.r
d2e0 75 6e 20 77 68 65 6e 20 65 6d 75 6c 61 74 69 6e 67 0a 20 20 20 20 2a 20 70 72 65 70 61 72 65 2f un.when.emulating.....*.prepare/
d300 65 78 65 63 75 74 65 2e 20 20 41 20 44 42 20 65 72 72 6f 72 20 63 6f 64 65 20 69 73 20 72 65 74 execute...A.DB.error.code.is.ret
d320 75 72 6e 65 64 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 61 urned.on.failure......*.....*.@a
d340 63 63 65 73 73 20 70 72 69 76 61 74 65 0a 20 20 20 20 2a 20 40 73 65 65 20 65 78 65 63 75 74 65 ccess.private.....*.@see.execute
d360 28 29 0a 20 20 20 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 45 ().....*/......function.executeE
d380 6d 75 6c 61 74 65 51 75 65 72 79 28 24 73 74 6d 74 2c 20 24 64 61 74 61 20 3d 20 66 61 6c 73 65 mulateQuery($stmt,.$data.=.false
d3a0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 20 3d 20 26 24 74 68 69 73 2d 3e 70 72 65 ).....{.........$p.=.&$this->pre
d3c0 70 61 72 65 5f 74 6f 6b 65 6e 73 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 pare_tokens;..........if.(!isset
d3e0 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 20 7c ($this->prepare_tokens[$stmt]).|
d400 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 |.............!is_array($this->p
d420 72 65 70 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 repare_tokens[$stmt]).||........
d440 20 20 20 20 20 21 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 6f 6b 65 .....!sizeof($this->prepare_toke
d460 6e 73 5b 24 73 74 6d 74 5d 29 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ns[$stmt])).........{...........
d480 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
d4a0 52 4f 52 5f 49 4e 56 41 4c 49 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ROR_INVALID);.........}.........
d4c0 20 24 71 71 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 5b 24 73 .$qq.=.&$this->prepare_tokens[$s
d4e0 74 6d 74 5d 3b 0a 20 20 20 20 20 20 20 20 24 71 70 20 3d 20 73 69 7a 65 6f 66 28 24 71 71 29 20 tmt];.........$qp.=.sizeof($qq).
d500 2d 20 31 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 21 24 64 61 74 61 20 26 26 20 24 71 70 -.1;..........if.((!$data.&&.$qp
d520 20 3e 20 30 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 21 69 73 5f 61 72 72 61 79 28 .>.0).||.............(!is_array(
d540 24 64 61 74 61 29 20 26 26 20 24 71 70 20 3e 20 31 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 $data).&&.$qp.>.1).||...........
d560 20 20 28 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 29 20 26 26 20 24 71 70 20 3e 20 73 69 7a 65 ..(is_array($data).&&.$qp.>.size
d580 6f 66 28 24 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 of($data))).........{...........
d5a0 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 ..$this->last_query.=.$this->pre
d5c0 70 61 72 65 64 5f 71 75 65 72 69 65 73 5b 24 73 74 6d 74 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 pared_queries[$stmt];...........
d5e0 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
d600 52 4f 52 5f 4e 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 0a ROR_NEED_MORE_DATA);.........}..
d620 20 20 20 20 20 20 20 20 24 72 65 61 6c 71 75 65 72 79 20 3d 20 24 71 71 5b 30 5d 3b 0a 20 20 20 ........$realquery.=.$qq[0];....
d640 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 71 70 3b 20 24 69 2b 2b .....for.($i.=.0;.$i.<.$qp;.$i++
d660 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 70 ).{.............$type.=.$this->p
d680 72 65 70 61 72 65 5f 74 79 70 65 73 5b 24 73 74 6d 74 5d 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 repare_types[$stmt][$i];........
d6a0 20 20 20 20 20 69 66 20 28 24 74 79 70 65 20 3d 3d 20 44 42 5f 50 41 52 41 4d 5f 4f 50 41 51 55 .....if.($type.==.DB_PARAM_OPAQU
d6c0 45 29 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 61 72 72 61 E).{.................if.(is_arra
d6e0 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 20 20 20 20 y($data)).{.....................
d700 24 66 70 20 3d 20 66 6f 70 65 6e 28 24 64 61 74 61 5b 24 69 5d 2c 20 27 72 27 29 3b 0a 20 20 20 $fp.=.fopen($data[$i],.'r');....
d720 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 20 20 20 .............}.else.{...........
d740 20 20 20 20 20 20 20 20 20 20 24 66 70 20 3d 20 66 6f 70 65 6e 28 24 64 61 74 61 2c 20 27 72 27 ..........$fp.=.fopen($data,.'r'
d760 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 20 );.................}............
d780 20 20 20 20 20 20 24 70 64 61 74 61 20 3d 20 27 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......$pdata.=.'';..............
d7a0 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 20 20 20 20 20 20 ....if.($fp).{..................
d7c0 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 70 2c 20 34 30 39 ...while.(($buf.=.fread($fp,.409
d7e0 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 20 20 20 20 20 20 6)).!=.false).{.................
d800 20 20 20 20 20 20 20 20 24 70 64 61 74 61 20 2e 3d 20 24 62 75 66 3b 0a 20 20 20 20 20 20 20 20 ........$pdata..=.$buf;.........
d820 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 ............}.................}.
d840 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.{............
d860 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 20 .....if.(is_array($data)).{.....
d880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 64 61 74 61 20 3d 20 26 24 64 61 74 61 5b ................$pdata.=.&$data[
d8a0 24 69 5d 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 0a 20 20 $i];.................}.else.{...
d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 64 61 74 61 20 3d 20 26 24 64 61 74 ..................$pdata.=.&$dat
d8e0 61 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 a;.................}............
d900 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 61 6c 71 75 65 72 79 20 2e 3d 20 28 24 .}..............$realquery..=.($
d920 74 79 70 65 20 21 3d 20 44 42 5f 50 41 52 41 4d 5f 4d 49 53 43 29 20 3f 20 24 74 68 69 73 2d 3e type.!=.DB_PARAM_MISC).?.$this->
d940 71 75 6f 74 65 28 24 70 64 61 74 61 29 20 3a 20 24 70 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 quote($pdata).:.$pdata;.........
d960 20 20 20 20 24 72 65 61 6c 71 75 65 72 79 20 2e 3d 20 24 71 71 5b 24 69 20 2b 20 31 5d 3b 0a 20 ....$realquery..=.$qq[$i.+.1];..
d980 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 61 6c 71 75 .......}..........return.$realqu
d9a0 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 20 20 2f 2f 20 7b 7b ery;.....}......//.}}}.....//.{{
d9c0 7b 20 65 78 65 63 75 74 65 4d 75 6c 74 69 70 6c 65 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 {.executeMultiple()....../**....
d9e0 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 73 65 76 65 72 61 6c 20 65 78 .*.This.function.does.several.ex
da00 65 63 75 74 65 28 29 20 63 61 6c 6c 73 20 6f 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 2a 20 ecute().calls.on.the.same.....*.
da20 73 74 61 74 65 6d 65 6e 74 20 68 61 6e 64 6c 65 2e 20 20 24 64 61 74 61 20 6d 75 73 74 20 62 65 statement.handle...$data.must.be
da40 20 61 6e 20 61 72 72 61 79 20 69 6e 64 65 78 65 64 20 6e 75 6d 65 72 69 63 61 6c 6c 79 0a 20 20 .an.array.indexed.numerically...
da60 20 20 2a 20 66 72 6f 6d 20 30 2c 20 6f 6e 65 20 65 78 65 63 75 74 65 20 63 61 6c 6c 20 69 73 20 ..*.from.0,.one.execute.call.is.
da80 64 6f 6e 65 20 66 6f 72 20 65 76 65 72 79 20 22 72 6f 77 22 20 69 6e 20 74 68 65 20 61 72 72 61 done.for.every."row".in.the.arra
daa0 79 2e 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 49 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 y......*.....*.If.an.error.occur
dac0 73 20 64 75 72 69 6e 67 20 65 78 65 63 75 74 65 28 29 2c 20 65 78 65 63 75 74 65 4d 75 6c 74 69 s.during.execute(),.executeMulti
dae0 70 6c 65 28 29 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 2a 20 65 78 65 63 75 74 65 20 74 68 65 ple().does.not.....*.execute.the
db00 20 75 6e 66 69 6e 69 73 68 65 64 20 72 6f 77 73 2c 20 62 75 74 20 72 61 74 68 65 72 20 72 65 74 .unfinished.rows,.but.rather.ret
db20 75 72 6e 73 20 74 68 61 74 20 65 72 72 6f 72 2e 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 urns.that.error......*.....*.@pa
db40 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.
db60 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
db80 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
dba0 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.....*...................
dbc0 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
dbe0 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 44 42 5f 4f y.....*.....*.@return.mixed.DB_O
dc00 4b 20 6f 72 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 K.or.DB_Error.....*.....*.@acces
dc20 73 20 70 75 62 6c 69 63 0a 20 20 20 20 2a 20 40 73 65 65 20 70 72 65 70 61 72 65 28 29 2c 20 65 s.public.....*.@see.prepare(),.e
dc40 78 65 63 75 74 65 28 29 0a 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 xecute().....*/......function.ex
dc60 65 63 75 74 65 4d 75 6c 74 69 70 6c 65 28 20 24 73 74 6d 74 2c 20 26 24 64 61 74 61 20 29 0a 20 ecuteMultiple(.$stmt,.&$data.)..
dc80 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 69 ...{.........for($i.=.0;.$i.<.si
dca0 7a 65 6f 66 28 20 24 64 61 74 61 20 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 zeof(.$data.);.$i++).{..........
dcc0 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 6d 74 2c 20 ...$res.=.$this->execute($stmt,.
dce0 24 64 61 74 61 5b 24 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 44 42 3a 3a $data[$i]);.............if.(DB::
dd00 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 20 20 20 isError($res)).{................
dd20 20 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .return.$res;.............}.....
dd40 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;.....
dd60 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 6d 6f 64 69 66 79 51 }......//.}}}.....//.{{{.modifyQ
dd80 75 65 72 79 28 29 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 uery()....../**......*.This.meth
dda0 6f 64 20 69 73 20 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 od.is.used.by.backends.to.alter.
ddc0 71 75 65 72 69 65 73 20 66 6f 72 20 76 61 72 69 6f 75 73 0a 20 20 20 20 20 2a 20 72 65 61 73 6f queries.for.various......*.reaso
dde0 6e 73 2e 20 20 49 74 20 69 73 20 64 65 66 69 6e 65 64 20 68 65 72 65 20 74 6f 20 61 73 73 75 72 ns...It.is.defined.here.to.assur
de00 65 20 74 68 61 74 20 61 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 0a 20 20 20 20 20 e.that.all.implementations......
de20 2a 20 68 61 76 65 20 74 68 69 73 20 6d 65 74 68 6f 64 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 *.have.this.method.defined......
de40 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 71 75 65 72 79 20 20 .*......*.@param.string.$query..
de60 71 75 65 72 79 20 74 6f 20 6d 6f 64 69 66 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 query.to.modify......*......*.@r
de80 65 74 75 72 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 eturn.the.new.(modified).query..
dea0 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 74 65 0a 20 20 20 ....*......*.@access.private....
dec0 20 20 2a 2f 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 ..*/.....function.modifyQuery($q
dee0 75 65 72 79 29 20 7b 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 uery).{.........return.$query;..
df00 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 6d 6f 64 69 ...}......//.}}}.....//.{{{.modi
df20 66 79 4c 69 6d 69 74 51 75 65 72 79 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 54 68 69 fyLimitQuery()...../**.....*.Thi
df40 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 73 20 74 6f 20 s.method.is.used.by.backends.to.
df60 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 0a 20 20 20 20 alter.limited.queries.....*.....
df80 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 75 65 72 79 20 74 6f *.@param.string..$query.query.to
dfa0 20 6d 6f 64 69 66 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 .modify.....*.@param.integer.$fr
dfc0 6f 6d 20 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 om..the.row.to.start.to.fetching
dfe0 0a 20 20 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 .....*.@param.integer.$count.the
e000 20 6e 75 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 .numbers.of.rows.to.fetch.....*.
e020 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 74 68 65 20 6e 65 77 20 28 6d 6f 64 69 66 69 65 64 29 ....*.@return.the.new.(modified)
e040 20 71 75 65 72 79 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 .query.....*.....*.@access.priva
e060 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 6f 64 69 66 79 4c 69 te.....*/......function.modifyLi
e080 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 6e 74 29 0a mitQuery($query,.$from,.$count).
e0a0 20 20 20 20 7b 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 ....{.........return.$query;....
e0c0 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 65 72 79 28 .}......//.}}}.....//.{{{.query(
e0e0 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 71 75 65 72 79 20 74 )....../**......*.Send.a.query.t
e100 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 72 65 74 75 72 6e 20 61 6e 79 20 72 65 o.the.database.and.return.any.re
e120 73 75 6c 74 73 20 77 69 74 68 20 61 0a 20 20 20 20 20 2a 20 44 42 5f 72 65 73 75 6c 74 20 6f 62 sults.with.a......*.DB_result.ob
e140 6a 65 63 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 ject.......*......*.@access.publ
e160 69 63 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 ic......*......*.@param.string.$
e180 71 75 65 72 79 20 20 74 68 65 20 53 51 4c 20 71 75 65 72 79 20 6f 72 20 74 68 65 20 73 74 61 74 query..the.SQL.query.or.the.stat
e1a0 65 6d 65 6e 74 20 74 6f 20 70 72 65 70 61 72 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 ement.to.prepare......*.@param.s
e1c0 74 72 69 6e 67 20 24 70 61 72 61 6d 73 20 74 68 65 20 64 61 74 61 20 74 6f 20 62 65 20 61 64 64 tring.$params.the.data.to.be.add
e1e0 65 64 20 74 6f 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d ed.to.the.query......*.@return.m
e200 69 78 65 64 20 61 20 44 42 5f 72 65 73 75 6c 74 20 6f 62 6a 65 63 74 20 6f 72 20 44 42 5f 4f 4b ixed.a.DB_result.object.or.DB_OK
e220 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 44 42 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 .on.success,.a.DB......*........
e240 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 2a 0a ........error.on.failure......*.
e260 20 20 20 20 20 2a 20 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 .....*.@see.DB::isError......*.@
e280 73 65 65 20 44 42 5f 63 6f 6d 6d 6f 6e 3a 3a 70 72 65 70 61 72 65 0a 20 20 20 20 20 2a 20 40 73 see.DB_common::prepare......*.@s
e2a0 65 65 20 44 42 5f 63 6f 6d 6d 6f 6e 3a 3a 65 78 65 63 75 74 65 0a 20 20 20 20 20 2a 2f 0a 20 20 ee.DB_common::execute......*/...
e2c0 20 20 66 75 6e 63 74 69 6f 6e 20 26 71 75 65 72 79 28 24 71 75 65 72 79 2c 20 24 70 61 72 61 6d ..function.&query($query,.$param
e2e0 73 20 3d 20 61 72 72 61 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f s.=.array()).{.........if.(sizeo
e300 66 28 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 f($params).>.0).{.............$s
e320 74 68 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 20 20 20 th.=.$this->prepare($query);....
e340 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 73 74 68 29 29 20 .........if.(DB::isError($sth)).
e360 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 73 74 68 3b 0a 20 {.................return.$sth;..
e380 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.
e3a0 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);..
e3c0 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
e3e0 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 73 69 6d 70 6c 65 51 75 65 72 79 28 24 71 75 65 72 79 29 ult.=.$this->simpleQuery($query)
e400 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 72 ;.............if.(DB::isError($r
e420 65 73 75 6c 74 29 20 7c 7c 20 24 72 65 73 75 6c 74 20 3d 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 esult).||.$result.===.DB_OK).{..
e440 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 75 6c 74 3b 0a 20 ...............return.$result;..
e460 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.{.............
e480 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 2c 20 ....return.new.DB_result($this,.
e4a0 24 72 65 73 75 6c 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 $result);.............}.........
e4c0 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 2f 20 7b 7b 7b 20 6c }.....}......//.}}}.....//.{{{.l
e4e0 69 6d 69 74 51 75 65 72 79 28 29 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 2a 20 47 65 6e 65 72 61 imitQuery()...../**.....*.Genera
e500 74 65 73 20 61 20 6c 69 6d 69 74 65 64 20 71 75 65 72 79 0a 20 20 20 20 2a 20 2a 45 58 50 45 52 tes.a.limited.query.....*.*EXPER
e520 49 4d 45 4e 54 41 4c 2a 0a 20 20 20 20 2a 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 IMENTAL*.....*.....*.@param.stri
e540 6e 67 20 20 24 71 75 65 72 79 20 71 75 65 72 79 0a 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e ng..$query.query.....*.@param.in
e560 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 74 20 74 6f teger.$from..the.row.to.start.to
e580 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 65 72 20 24 .fetching.....*.@param.integer.$
e5a0 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 20 66 65 74 count.the.numbers.of.rows.to.fet
e5c0 63 68 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 61 20 44 ch.....*.....*.@return.mixed.a.D
e5e0 42 5f 52 65 73 75 6c 74 20 6f 62 6a 65 63 74 20 6f 72 20 61 20 44 42 5f 45 72 72 6f 72 0a 20 20 B_Result.object.or.a.DB_Error...
e600 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.....*/.
e620 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 69 6d 69 74 51 75 65 72 79 28 24 71 75 65 72 79 2c 20 ....function.limitQuery($query,.
e640 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 20 20 24 71 75 $from,.$count).....{.........$qu
e660 65 72 79 20 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 69 66 79 4c 69 6d 69 74 51 75 65 72 79 28 24 ery..=.$this->modifyLimitQuery($
e680 71 75 65 72 79 2c 20 24 66 72 6f 6d 2c 20 24 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 24 query,.$from,.$count);.........$
e6a0 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 28 24 71 75 65 result.=.$this->simpleQuery($que
e6c0 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 72 65 ry);.........if.(DB::isError($re
e6e0 73 75 6c 74 29 20 7c 7c 20 24 72 65 73 75 6c 74 20 3d 3d 3d 20 44 42 5f 4f 4b 29 20 7b 0a 20 20 sult).||.$result.===.DB_OK).{...
e700 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;.......
e720 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 5f 6f 62 6a 20 ..}.else.{.............$res_obj.
e740 3d 26 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 75 6c 74 29 =&.new.DB_result($this,.$result)
e760 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5f 6f 62 6a 2d 3e 6c 69 6d 69 74 5f 66 72 ;.............$res_obj->limit_fr
e780 6f 6d 20 20 3d 20 24 66 72 6f 6d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 5f 6f 62 om..=.$from;.............$res_ob
e7a0 6a 2d 3e 6c 69 6d 69 74 5f 63 6f 75 6e 74 20 3d 20 24 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 j->limit_count.=.$count;........
e7c0 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 5f 6f 62 6a 3b 0a 20 20 20 20 20 20 20 20 7d 0a .....return.$res_obj;.........}.
e7e0 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 74 ....}......//.}}}.....//.{{{.get
e800 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 20 One()....../**......*.Fetch.the.
e820 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 66 first.column.of.the.first.row.of
e840 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 65 .data.returned.from......*.a.que
e860 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 65 ry...Takes.care.of.doing.the.que
e880 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 20 ry.and.freeing.the.results......
e8a0 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 40 *.when.finished.......*......*.@
e8c0 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
e8e0 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 66 y......*.@param.array.$params.if
e900 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.
e920 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.
e940 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.....
e960 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 72 .*......*.@return.mixed.DB_Error
e980 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 75 .or.the.returned.value.of.the.qu
e9a0 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 63 ery......*......*.@access.public
e9c0 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 24 ......*/......function.&getOne($
e9e0 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 0a query,.$params.=.array()).....{.
ea00 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 22 ........settype($params,."array"
ea20 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 3e );.........if.(sizeof($params).>
ea40 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->
ea60 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.
ea80 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)).{...........
eaa0 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;.............}
eac0 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 75 .............$res.=.$this->execu
eae0 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
eb00 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 75 e.{.............$res.=.$this->qu
eb20 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 20 ery($query);.........}..........
eb40 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 20 if.(DB::isError($res)).{........
eb60 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 20 .....return.$res;.........}.....
eb80 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 77 .....$err.=.$res->fetchInto($row
eba0 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 20 ,.DB_FETCHMODE_ORDERED);........
ebc0 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 20 .if.($err.!==.DB_OK).{..........
ebe0 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 20 ...return.$err;.........}.......
ec00 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 73 ...$res->free();..........if.(is
ec20 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 3e set($sth)).{.............$this->
ec40 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 20 freeResult($sth);.........}.....
ec60 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 20 .....return.$row[0];.....}......
ec80 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 20 //.}}}.....//.{{{.getRow()......
eca0 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 6f /**......*.Fetch.the.first.row.o
ecc0 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 54 f.data.returned.from.a.query...T
ece0 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 75 akes.care......*.of.doing.the.qu
ed00 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 6e ery.and.freeing.the.results.when
ed20 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 20 .finished.......*......*.@param.
ed40 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 20 string.$query.the.SQL.query.....
ed60 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
ed80 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 6d .fetch.mode.to.use......*.@param
eda0 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 64 .array.$params.array.if.supplied
edc0 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 20 ,.prepare/execute.will.be.used..
ede0 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 20 ....*........with.this.array.as.
ee00 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 73 execute.parameters......*.@acces
ee20 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 68 s.public......*.@return.array.th
ee40 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 72 e.first.row.of.results.as.an.arr
ee60 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 44 ay.indexed.from......*.0,.or.a.D
ee80 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 74 B.error.code.......*/......funct
eea0 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 20 ion.&getRow($query,.............
eec0 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 20 .........$params.=.null,........
eee0 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 45 ..............$fetchmode.=.DB_FE
ef00 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 2f TCHMODE_DEFAULT).....{........./
ef20 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 66 /.compat.check,.the.params.and.f
ef40 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 20 etchmode.parameters.used.to.....
ef60 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 20 ....//.have.the.opposite.order..
ef80 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 7b .......if.(!is_array($params)).{
efa0 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 68 .............if.(is_array($fetch
efc0 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 20 mode)).{.................$tmp.=.
efe0 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 73 $params;.................$params
f000 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 24 .=.$fetchmode;.................$
f020 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 20 fetchmode.=.$tmp;.............}.
f040 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 20 elseif.($params.!==.null).{.....
f060 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 73 ............$fetchmode.=.$params
f080 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 6c ;.................$params.=.null
f0a0 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 ;.............}.........}.......
f0c0 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 61 ..$params.=.(empty($params)).?.a
f0e0 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 68 rray().:.$params;.........$fetch
f100 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 5f mode.=.(empty($fetchmode)).?.DB_
f120 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 0a FETCHMODE_DEFAULT.:.$fetchmode;.
f140 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 27 ........settype($params,.'array'
f160 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 3e );.........if.(sizeof($params).>
f180 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->
f1a0 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.
f1c0 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)).{...........
f1e0 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;.............}
f200 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 75 .............$res.=.$this->execu
f220 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
f240 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 75 e.{.............$res.=.$this->qu
f260 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 20 ery($query);.........}..........
f280 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 20 if.(DB::isError($res)).{........
f2a0 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 20 .....return.$res;.........}.....
f2c0 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 77 .....$err.=.$res->fetchInto($row
f2e0 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 72 ,.$fetchmode);..........if.($err
f300 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 6e .!==.DB_OK).{.............return
f320 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 66 .$err;.........}.........$res->f
f340 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 29 ree();..........if.(isset($sth))
f360 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 74 .{.............$this->freeResult
f380 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 72 ($sth);.........}..........retur
f3a0 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 2f n.$row;.....}......//.}}}.....//
f3c0 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 65 .{{{.getCol()....../**......*.Fe
f3e0 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 6c tch.a.single.column.from.a.resul
f400 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 2a t.set.and.return.it.as.an......*
f420 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 70 .indexed.array.......*......*.@p
f440 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 79 aram.string.$query.the.SQL.query
f460 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 6c ......*......*.@param.mixed.$col
f480 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 72 .which.column.to.return.(integer
f4a0 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 67 .[column.number,......*.starting
f4c0 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 0a .at.0].or.string.[column.name]).
f4e0 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 61 .....*......*.@param.array.$para
f500 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 78 ms.array.if.supplied,.prepare/ex
f520 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 20 ecute.will.be.used......*.......
f540 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 61 .with.this.array.as.execute.para
f560 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 20 meters......*.@access.public....
f580 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 65 ..*......*.@return.array.an.inde
f5a0 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 65 xed.array.with.the.data.from.the
f5c0 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 72 .first......*.row.at.index.0,.or
f5e0 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 66 .a.DB.error.code.......*/......f
f600 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 30 unction.&getCol($query,.$col.=.0
f620 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 20 ,.$params.=.array()).....{......
f640 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 20 ...settype($params,."array");...
f660 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 7b ......if.(sizeof($params).>.0).{
f680 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 61 .............$sth.=.$this->prepa
f6a0 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 3a re($query);..............if.(DB:
f6c0 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 20 :isError($sth)).{...............
f6e0 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 20 ..return.$sth;.............}....
f700 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 28 ..........$res.=.$this->execute(
f720 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 7b $sth,.$params);.........}.else.{
f740 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 79 .............$res.=.$this->query
f760 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 20 ($query);.........}..........if.
f780 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 20 (DB::isError($res)).{...........
f7a0 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 20 ..return.$res;.........}........
f7c0 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 42 ..$fetchmode.=.is_int($col).?.DB
f7e0 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 44 _FETCHMODE_ORDERED.:.DB_FETCHMOD
f800 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 3b E_ASSOC;.........$ret.=.array();
f820 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 3d ..........while.(is_array($row.=
f840 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 0a .$res->fetchRow($fetchmode))).{.
f860 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 3b ............$ret[].=.$row[$col];
f880 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 72 .........}.........if.(DB::isErr
f8a0 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 24 or($row)).{.............$ret.=.$
f8c0 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 65 row;.........}.........$res->fre
f8e0 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 7b e();..........if.(isset($sth)).{
f900 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 24 .............$this->freeResult($
f920 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 20 sth);.........}..........return.
f940 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 7b $ret;.....}......//.}}}.....//.{
f960 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 65 {{.getAssoc()....../**......*.Fe
f980 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 71 tch.the.entire.result.set.of.a.q
f9a0 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 20 uery.and.return.it.as.an......*.
f9c0 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 73 associative.array.using.the.firs
f9e0 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 20 t.column.as.the.key.......*.....
fa00 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 6f .*.If.the.result.set.contains.mo
fa20 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 20 re.than.two.columns,.the.value..
fa40 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 61 ....*.will.be.an.array.of.the.va
fa60 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 65 lues.from.column.2-n...If.the.re
fa80 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 77 sult......*.set.contains.only.tw
faa0 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 69 o.columns,.the.returned.value.wi
fac0 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 76 ll.be.a......*.scalar.with.the.v
fae0 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 73 alue.of.the.second.column.(unles
fb00 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 68 s.forced.to.an......*.array.with
fb20 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 41 .the.$force_array.parameter)...A
fb40 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 65 .DB.error.code.is......*.returne
fb60 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 20 d.on.errors...If.the.result.set.
fb80 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 63 contains.fewer.than.two......*.c
fba0 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 72 olumns,.a.DB_ERROR_TRUNCATED.err
fbc0 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 6f or.is.returned.......*......*.Fo
fbe0 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 65 r.example,.if.the.table."mytable
fc00 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 20 ".contains:......*......*..ID...
fc20 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 2d ...TEXT.......DATE......*.------
fc40 2d 2d 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 20 --------------------------......
fc60 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 0a *..1.......'one'......944679408.
fc80 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 37 .....*..2.......'two'......94467
fca0 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 20 9408......*..3.......'three'....
fcc0 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 65 944679408......*......*.Then.the
fce0 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 46 .call.getAssoc('SELECT.id,text.F
fd00 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 20 ROM.mytable').returns:......*...
fd20 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 0a array(......*.....'1'.=>.'one',.
fd40 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 20 .....*.....'2'.=>.'two',......*.
fd60 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 20 ....'3'.=>.'three',......*...)..
fd80 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 67 ....*......*....while.the.call.g
fda0 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 4f etAssoc('SELECT.id,text,date.FRO
fdc0 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 72 M.mytable').returns:......*...ar
fde0 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 6e ray(......*.....'1'.=>.array('on
fe00 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 27 e',.'944679408'),......*.....'2'
fe20 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 20 .=>.array('two',.'944679408'),..
fe40 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 20 ....*.....'3'.=>.array('three',.
fe60 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 20 '944679408')......*...)......*..
fe80 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 6f ....*.If.the.more.than.one.row.o
fea0 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 65 ccurs.with.the.same.value.in.the
fec0 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 72 ......*.first.column,.the.last.r
fee0 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 20 ow.overwrites.all.previous.ones.
ff00 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 6f by......*.default...Use.the.$gro
ff20 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 74 up.parameter.if.you.don't.want.t
ff40 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 45 o......*.overwrite.like.this...E
ff60 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 27 xample:......*......*.getAssoc('
ff80 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 74 SELECT.category,id,name.FROM.myt
ffa0 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 20 able',.false,.null,......*......
ffc0 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 65 ....DB_FETCHMODE_ASSOC,.true).re
ffe0 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 20 turns:......*...array(......*...
10000 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 27 ..'1'.=>.array(array('id'.=>.'4'
10020 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 20 ,.'name'.=>.'number.four'),.....
10040 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 3d .*..................array('id'.=
10060 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 20 >.'6',.'name'.=>.'number.six')..
10080 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 27 ....*............),......*.....'
100a0 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 27 9'.=>.array(array('id'.=>.'4',.'
100c0 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 20 name'.=>.'number.four'),......*.
100e0 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 27 .................array('id'.=>.'
10100 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 20 6',.'name'.=>.'number.six').....
10120 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 20 .*............)......*...)......
10140 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 62 *......*.Keep.in.mind.that.datab
10160 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 74 ase.functions.in.PHP.usually.ret
10180 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 73 urn.string......*.values.for.res
101a0 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 27 ults.regardless.of.the.database'
101c0 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 40 s.internal.type.......*......*.@
101e0 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
10200 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 24 y......*......*.@param.boolean.$
10220 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 71 force_array.used.only.when.the.q
10240 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 20 uery.returns......*.exactly.two.
10260 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 66 columns...If.true,.the.values.of
10280 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 20 .the.returned.array......*.will.
102a0 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 66 be.one-element.arrays.instead.of
102c0 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 61 .scalars.......*......*.@param.a
102e0 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 20 rray.$params.array.if.supplied,.
10300 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 20 prepare/execute.will.be.used....
10320 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 78 ..*........with.this.array.as.ex
10340 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 40 ecute.parameters......*......*.@
10360 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 68 param.boolean.$group.if.true,.th
10380 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 20 e.values.of.the.returned.array..
103a0 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 77 ....*.......................is.w
103c0 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 65 rapped.in.another.array...If.the
103e0 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 20 .same......*....................
10400 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 6d ...key.value.(in.the.first.colum
10420 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 20 n).repeats......*...............
10440 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 20 ........itself,.the.values.will.
10460 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 20 be.appended.to......*...........
10480 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 6f ............this.array.instead.o
104a0 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 20 f.overwriting.the......*........
104c0 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 0a ...............existing.values..
104e0 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....
10500 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 61 ..*......*.@return.array.associa
10520 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 65 tive.array.with.results.from.the
10540 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 67 .query.......*/......function.&g
10560 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 66 etAssoc($query,.$force_array.=.f
10580 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 20 alse,.$params.=.array(),........
105a0 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 5f ................$fetchmode.=.DB_
105c0 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 73 FETCHMODE_ORDERED,.$group.=.fals
105e0 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 73 e).....{.........settype($params
10600 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 24 ,."array");.........if.(sizeof($
10620 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 20 params).>.0).{.............$sth.
10640 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 20 =.$this->prepare($query);.......
10660 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 0a .......if.(DB::isError($sth)).{.
10680 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 20 ................return.$sth;....
106a0 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 24 .........}..............$res.=.$
106c0 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 20 this->execute($sth,.$params);...
106e0 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 20 ......}.else.{.............$res.
10700 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 20 =.$this->query($query);.........
10720 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 29 }..........if.(DB::isError($res)
10740 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 20 ).{.............return.$res;....
10760 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 75 .....}..........$cols.=.$res->nu
10780 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 29 mCols();..........if.($cols.<.2)
107a0 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
107c0 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 20 seError(DB_ERROR_TRUNCATED);....
107e0 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 79 .....}..........$results.=.array
10800 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 66 ();..........if.($cols.>.2.||.$f
10820 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 74 orce_array).{.............//.ret
10840 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 20 urn.array.values.............//.
10860 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 20 XXX.this.part.can.be.optimized..
10880 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 5f ...........if.($fetchmode.==.DB_
108a0 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 20 FETCHMODE_ASSOC).{..............
108c0 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 3e ...while.(is_array($row.=.$res->
108e0 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 7b fetchRow(DB_FETCHMODE_ASSOC))).{
10900 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 29 .....................reset($row)
10920 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 72 ;.....................$key.=.cur
10940 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 20 rent($row);.....................
10960 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 20 unset($row[key($row)]);.........
10980 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 20 ............if.($group).{.......
109a0 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 5d ..................$results[$key]
109c0 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 7d [].=.$row;.....................}
109e0 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 20 .else.{.........................
10a00 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 20 $results[$key].=.$row;..........
10a20 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 20 ...........}.................}..
10a40 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.{.............
10a60 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-
10a80 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 29 >fetchRow(DB_FETCHMODE_ORDERED))
10aa0 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 68 ).{.....................//.we.sh
10ac0 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 65 ift.away.the.first.element.to.ge
10ae0 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 73 t.....................//.indices
10b00 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 20 .running.from.0.again...........
10b20 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 6f ..........$key.=.array_shift($ro
10b40 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 6f w);.....................if.($gro
10b60 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 72 up).{.........................$r
10b80 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 20 esults[$key][].=.$row;..........
10ba0 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.{.............
10bc0 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 6f ............$results[$key].=.$ro
10be0 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 20 w;.....................}........
10c00 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 20 .........}.............}........
10c20 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 20 .....if.(DB::isError($row)).{...
10c40 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 20 ..............$results.=.$row;..
10c60 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.{...
10c80 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 65 ..........//.return.scalar.value
10ca0 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 72 s.............while.(is_array($r
10cc0 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 45 ow.=.$res->fetchRow(DB_FETCHMODE
10ce0 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 66 _ORDERED))).{.................if
10d00 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 20 .($group).{.....................
10d20 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 20 $results[$row[0]][].=.$row[1];..
10d40 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 20 ...............}.else.{.........
10d60 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 20 ............$results[$row[0]].=.
10d80 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 20 $row[1];.................}......
10da0 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 45 .......}.............if.(DB::isE
10dc0 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 72 rror($row)).{.................$r
10de0 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 20 esults.=.$row;.............}....
10e00 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 20 .....}..........$res->free();...
10e20 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 20 .......if.(isset($sth)).{.......
10e40 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 20 ......$this->freeResult($sth);..
10e60 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 74 .......}..........return.$result
10e80 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;.....}......//.}}}.....//.{{{.
10ea0 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 61 getAll()....../**......*.Fetch.a
10ec0 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 72 ll.the.rows.returned.from.a.quer
10ee0 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 24 y.......*......*.@param.string.$
10f00 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 20 query.the.SQL.query......*......
10f20 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 20 *.@param.array.$params.array.if.
10f40 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 62 supplied,.prepare/execute.will.b
10f60 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 61 e.used......*........with.this.a
10f80 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 20 rray.as.execute.parameters......
10fa0 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 20 *.@param.integer.$fetchmode.the.
10fc0 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 20 fetch.mode.to.use......*......*.
10fe0 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 72 @access.public......*.@return.ar
11000 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 72 ray.an.nested.array,.or.a.DB.err
11020 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 6c or......*/......function.&getAll
11040 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 70 ($query,......................$p
11060 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 20 arams.=.null,...................
11080 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 46 ...$fetchmode.=.DB_FETCHMODE_DEF
110a0 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 68 AULT).....{.........//.compat.ch
110c0 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 61 eck,.the.params.and.fetchmode.pa
110e0 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 65 rameters.used.to.........//.have
11100 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 28 .the.opposite.order.........if.(
11120 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 20 !is_array($params)).{...........
11140 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 20 ..if.(is_array($fetchmode)).{...
11160 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 20 ..............$tmp.=.$params;...
11180 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 6f ..............$params.=.$fetchmo
111a0 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 3d de;.................$fetchmode.=
111c0 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 61 .$tmp;.............}.elseif.($pa
111e0 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 20 rams.!==.null).{................
11200 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 20 .$fetchmode.=.$params;..........
11220 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 20 .......$params.=.null;..........
11240 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 3d ...}.........}.........$params.=
11260 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 70 .(empty($params)).?.array().:.$p
11280 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 70 arams;.........$fetchmode.=.(emp
112a0 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 44 ty($fetchmode)).?.DB_FETCHMODE_D
112c0 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 74 EFAULT.:.$fetchmode;.........set
112e0 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 20 type($params,."array");.........
11300 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 20 if.(sizeof($params).>.0).{......
11320 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 75 .......$sth.=.$this->prepare($qu
11340 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 72 ery);..............if.(DB::isErr
11360 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 75 or($sth)).{.................retu
11380 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 20 rn.$sth;.............}..........
113a0 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 20 ....$res.=.$this->execute($sth,.
113c0 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 20 $params);.........}.else.{......
113e0 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 72 .......$res.=.$this->query($quer
11400 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 69 y);.........}..........if.(DB::i
11420 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 75 sError($res)).{.............retu
11440 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 73 rn.$res;.........}..........$res
11460 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 70 ults.=.array();.........$this->p
11480 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 55 ushErrorHandling(PEAR_ERROR_RETU
114a0 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 72 RN);.........while.(DB_OK.===.$r
114c0 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 29 es->fetchInto($row,.$fetchmode))
114e0 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 20 .{.............if.($fetchmode.&.
11500 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 20 DB_FETCHMODE_FLIPPED).{.........
11520 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 3e ........foreach.($row.as.$key.=>
11540 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 65 .$val).{.....................$re
11560 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 20 sults[$key][].=.$val;...........
11580 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 20 ......}.............}.else.{....
115a0 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 0a .............$results[].=.$row;.
115c0 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 ............}.........}.........
115e0 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 20 $this->popErrorHandling();......
11600 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
11620 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-
11640 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 20 >freeResult($sth);.........}....
11660 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 20 .....if.(DB::isError($row)).{...
11680 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
116a0 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 75 or($row);.........}.........retu
116c0 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 20 rn.$results;.....}......//.}}}..
116e0 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 20 ...//.{{{.autoCommit()...../**..
11700 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 20 ...*.enable.automatic.Commit....
11720 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 20 .*.....*.@param.boolean.$onoff..
11740 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 20 ...*.@return.mixed.DB_Error.....
11760 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 20 *.....*.@access.public.....*/...
11780 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 6c ..function.autoCommit($onoff=fal
117a0 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 3e se).....{.........return.$this->
117c0 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 29 raiseError(DB_ERROR_NOT_CAPABLE)
117e0 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 63 ;.....}......//.}}}.....//.{{{.c
11800 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 43 ommit()...../**.....*.starts.a.C
11820 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 20 ommit.....*.....*.@return.mixed.
11840 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 62 DB_Error.....*.....*.@access.pub
11860 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 29 lic.....*/.....function.commit()
11880 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 69 .....{.........return.$this->rai
118a0 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 20 seError(DB_ERROR_NOT_CAPABLE);..
118c0 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 6c ...}......//.}}}.....//.{{{.roll
118e0 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 6f back()...../**.....*.starts.a.ro
11900 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 64 llback.....*.....*.@return.mixed
11920 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
11940 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 63 blic.....*/.....function.rollbac
11960 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 3e k().....{.........return.$this->
11980 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 29 raiseError(DB_ERROR_NOT_CAPABLE)
119a0 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 6e ;.....}......//.}}}.....//.{{{.n
119c0 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 74 umRows()...../**.....*.returns.t
119e0 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 62 he.number.of.rows.in.a.result.ob
11a00 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 44 ject.....*.....*.@param.object.D
11a20 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 68 B_Result.the.result.object.to.ch
11a40 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 42 eck.....*.....*.@return.mixed.DB
11a60 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 20 _Error.or.the.number.of.rows....
11a80 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.....*/..
11aa0 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)....
11ac0 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 72 .{.........return.$this->raiseEr
11ae0 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 7d ror(DB_ERROR_NOT_CAPABLE);.....}
11b00 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
11b20 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 65 Rows()...../**.....*.returns.the
11b40 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 0a .affected.rows.of.a.query.....*.
11b60 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 20 ....*.@return.mixed.DB_Error.or.
11b80 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 65 number.of.rows.....*.....*.@acce
11ba0 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 66 ss.public.....*/.....function.af
11bc0 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 72 fectedRows().....{.........retur
11be0 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
11c00 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 20 _CAPABLE);.....}......//.}}}....
11c20 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 20 .//.{{{.errorNative()...../**...
11c40 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 6f ..*.returns.an.errormessage,.pro
11c60 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 20 vides.by.the.database.....*.....
11c80 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 73 *.@return.mixed.DB_Error.or.mess
11ca0 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 20 age.....*.....*.@access.public..
11cc0 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 29 ...*/.....function.errorNative()
11ce0 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 69 .....{.........return.$this->rai
11d00 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 20 seError(DB_ERROR_NOT_CAPABLE);..
11d20 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
11d40 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 6e Id()...../**.....*.returns.the.n
11d60 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 0a ext.free.id.of.a.sequence.....*.
11d80 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 6e ....*.@param.string..$seq_name.n
11da0 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 6d ame.of.the.sequence.....*.@param
11dc0 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 65 .boolean.$ondemand.when.true.the
11de0 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 20 .seqence.is.....*...............
11e00 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 66 ...........automatic.created,.if
11e20 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 20 .it.....*.......................
11e40 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 72 ...not.exists.....*.....*.@retur
11e60 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 20 n.mixed.DB_Error.or.id.....*/...
11e80 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 6e ..function.nextId($seq_name,.$on
11ea0 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 74 demand.=.true).....{.........ret
11ec0 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 4e urn.$this->raiseError(DB_ERROR_N
11ee0 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 20 OT_CAPABLE);.....}......//.}}}..
11f00 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 2f ...//.{{{.createSequence()...../
11f20 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 0a **.....*.creates.a.new.sequence.
11f40 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 6e ....*.....*.@param.string.$seq_n
11f60 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 20 ame.name.of.the.new.sequence....
11f80 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 0a .*.....*.@return.mixed.DB_Error.
11fa0 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 2a ....*.....*.@access.public.....*
11fc0 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 73 /.....function.createSequence($s
11fe0 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 74 eq_name).....{.........return.$t
12000 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 50 his->raiseError(DB_ERROR_NOT_CAP
12020 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 20 ABLE);.....}......//.}}}.....//.
12040 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 2a {{{.dropSequence()...../**.....*
12060 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 20 .deletes.a.sequence.....*.....*.
12080 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 20 @param.string.$seq_name.name.of.
120a0 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 6e the.sequence.....*.....*.@return
120c0 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 63 .mixed.DB_Error.....*.....*.@acc
120e0 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 64 ess.public.....*/.....function.d
12100 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).....{....
12120 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 42 .....return.$this->raiseError(DB
12140 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 20 _ERROR_NOT_CAPABLE);.....}......
12160 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 20 //.}}}.....//.{{{.tableInfo()...
12180 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 62 ../**.....*.returns.meta.data.ab
121a0 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 40 out.the.result.set.....*.....*.@
121c0 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 74 param.object.DB_Result.$result.t
121e0 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 20 he.result.object.to.analyse.....
12200 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 20 *.@param.mixed.$mode.depends.on.
12220 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 75 implementation.....*.....*.@retu
12240 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 61 rn.mixed.DB_Error.....*.....*.@a
12260 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
12280 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 6c .tableInfo($result,.$mode.=.null
122a0 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
122c0 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);.
122e0 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 74 ....}......//.}}}.....//.{{{.get
12300 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 74 Tables()...../**.....*.@deprecat
12320 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 73 ed.....*/.....function.getTables
12340 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 67 ().....{.........return.$this->g
12360 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 2f etListOf('tables');.....}....../
12380 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 20 /.}}}.....//.{{{.getListOf()....
123a0 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 6f ./**.....*.list.internal.DB.info
123c0 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 72 .....*.valid.values.for.$type.ar
123e0 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 74 e.db.dependent,.....*.often:.dat
12400 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 20 abases,.users,.view,.functions..
12420 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 74 ...*.....*.@param.string.$type.t
12440 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 20 ype.of.requested.info.....*.....
12460 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 20 *.@return.mixed.DB_Error.or.the.
12480 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 65 requested.data.....*.....*.@acce
124a0 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 65 ss.public.....*/.....function.ge
124c0 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 71 tListOf($type).....{.........$sq
124e0 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 65 l.=.$this->getSpecialQuery($type
12500 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 20 );.........if.($sql.===.null).{.
12520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f .............................../
12540 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 20 /.No.support.............return.
12560 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 50 $this->raiseError(DB_ERROR_UNSUP
12580 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 6e PORTED);.........}.elseif.(is_in
125a0 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 20 t($sql).||.DB::isError($sql)).{.
125c0 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 20 .....//.Previous.error..........
125e0 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 6c ...return.$this->raiseError($sql
12600 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 73 );.........}.elseif.(is_array($s
12620 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 2f ql)).{........................./
12640 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 20 /.Already.the.result............
12660 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 20 .return.$sql;.........}.........
12680 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 20 return.$this->getCol($sql);.....
126a0 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 68 ....................//.Launch.th
126c0 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 2f is.query.....}.....//.}}}.....//
126e0 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 63 .{{{.getSequenceName()......func
12700 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 7b tion.getSequenceName($sqn).....{
12720 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 67 .........return.sprintf($this->g
12740 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 20 etOption("seqname_format"),.....
12760 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 28 ...................preg_replace(
12780 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 20 '/[^a-z0-9_]/i',.'_',.$sqn));...
127a0 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 61 ..}......//.}}}.}..//.Used.by.ma
127c0 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 28 ny.drivers.if.(!function_exists(
127e0 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 20 'array_change_key_case')).{.....
12800 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 66 define('CASE_UPPER',.1);.....def
12820 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 69 ine('CASE_LOWER',.0);.....functi
12840 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 61 on.&array_change_key_case(&$arra
12860 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 20 y,.$case).{.........$casefunc.=.
12880 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 6f ($case.==.CASE_LOWER).?.'strtolo
128a0 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 65 wer'.:.'strtoupper';.........$re
128c0 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 61 t.=.array();.........foreach.($a
128e0 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 20 rray.as.$key.=>.$value).{.......
12900 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 76 ......$ret[$casefunc($key)].=.$v
12920 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 24 alue;.........}.........return.$
12940 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 00 ret;.....}.}..?>................
12960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a00 44 42 2d 31 2e 32 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.2/DB/dbase.php.............
12a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
12a80 20 20 20 37 31 35 37 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 31 32 32 20 00 00 00 00 00 ...7157..7466465701...7122......
12aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c00 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.//.//.+-------------------
12c20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12c40 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
12c60 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.........................
12c80 20 20 20 20 20 20 20 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 ...............................|
12ca0 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 .//.+---------------------------
12cc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12ce0 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).
12d00 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.........
12d20 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 .......................|.//.+---
12d40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12d80 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
12da0 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
12dc0 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
12de0 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
12e00 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........|.//.
12e20 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
12e40 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
12e60 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
12e80 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...............
12ea0 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
12ec0 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
12ee0 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...|
12f00 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
12f20 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
12f40 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
12f60 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
12f80 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................|.//.+---
12fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12fc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12fe0 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.
13000 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>...............
13020 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 ...............|.//.+-----------
13040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13060 2d 2d 2d 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 ---------------------------+.//.
13080 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/
130a0 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
130c0 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
130e0 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
13100 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:.//..
13120 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
13140 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.//..
13160 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
13180 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.
131a0 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
131c0 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,.
131e0 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
13200 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
13220 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
13240 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
13260 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.=.
13280 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
132a0 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
132c0 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
132e0 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
13300 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
13320 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
13340 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
13360 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->
13380 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
133a0 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,.........
133c0 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,...
133e0 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
13400 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'.........
13420 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
13440 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();.....
13460 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
13480 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).....{....
134a0 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
134c0 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
134e0 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
13500 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);.........}.........
13520 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
13540 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
13560 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);
13580 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
135a0 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();....
135c0 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
135e0 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
13600 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,..........
13620 20 20 20 20 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
13640 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));....
13660 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
13680 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;.
136a0 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()
136c0 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
136e0 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
13700 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;.........
13720 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
13740 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).....{....
13760 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
13780 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
137a0 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
137c0 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++)
137e0 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(
13800 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
13820 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
13840 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
13860 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]++;....
13880 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.&.
138a0 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).{...........
138c0 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_
138e0 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
13900 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.{.............
13920 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->
13940 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);.........}.
13960 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).{............
13980 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;.........}.........
139a0 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
139c0 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
139e0 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
13a00 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
13a20 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.
13a40 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
13a60 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);.....}.}.?>.................
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 32 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.2/DB/fbsql.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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
13c80 20 20 34 32 36 30 37 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 31 37 32 20 00 00 00 00 00 ..42607..7466465701...7172......
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 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
14040 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
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 46 72 61 6e 6b 20 4d 2e 20 4b 72 6f 6d 61 ---+.//.|.Author:.Frank.M..Kroma
14200 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>........
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 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/
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 46 72 6f 6e 74 42 61 73 65 0a .definition.for.PHP's.FrontBase.
14300 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
14320 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
14340 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
14360 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
14380 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."
143a0 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.
143c0 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
143e0 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;.
14400 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;....
14420 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();.
14440 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()
14460 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();..
14480 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
144a0 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.
144c0 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
144e0 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
14500 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
14520 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
14540 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
14560 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
14580 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
145a0 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->
145c0 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
145e0 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
14600 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
14620 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,...........
14640 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'.........)
14660 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.=
14680 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
146a0 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,.............
146c0 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,.
146e0 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
14700 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.=>.
14720 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,........
14740 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
14760 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_
14780 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.=
147a0 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,......
147c0 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
147e0 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
14800 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.
14820 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,.....
14840 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,
14860 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
14880 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
148a0 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,......
148c0 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
148e0 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,.........);.....}......//.}}
14900 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()....../**
14920 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
14940 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..
14960 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
14980 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
149a0 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
149c0 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
149e0 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
14a00 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
14a20 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
14a40 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....
14a60 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
14a80 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).....{.
14aa0 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
14ac0 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
14ae0 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
14b00 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
14b20 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.=
14b40 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
14b60 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';.....
14b80 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']
14ba0 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
14bc0 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
14be0 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
14c00 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
14c20 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);....
14c40 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
14c60 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
14c80 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);
14ca0 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
14cc0 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
14ce0 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);..
14d00 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).{.....
14d20 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
14d40 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.{...
14d60 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;........
14d80 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
14da0 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)
14dc0 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
14de0 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
14e00 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
14e20 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
14e40 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
14e60 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
14e80 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,...............
14ea0 20 20 20 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,
14ec0 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);.............}..
14ee0 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['
14f00 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
14f20 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
14f40 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
14f60 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();.
14f80 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 ............}.........}.........
14fa0 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;.....
14fc0 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;.....}......//.
14fe0 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().....
15000 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
15020 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.......*....
15040 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......*......*
15060 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
15080 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.......*/..
150a0 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().....{..
150c0 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-
150e0 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
15100 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.$
15120 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;.....}......//.}}}.....//.{{
15140 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()....../**......*.
15160 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
15180 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
151a0 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.......*......
151c0 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......*...
151e0 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......*......
15200 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.
15220 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
15240 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
15260 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
15280 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
152a0 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
152c0 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->
152e0 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
15300 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)
15320 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
15340 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);.
15360 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).{.........
15380 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
153a0 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
153c0 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
153e0 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.........//.
15400 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
15420 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
15440 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;..
15460 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
15480 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.
154a0 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)).{.........
154c0 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;.........}..
154e0 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].
15500 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
15520 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;.....}......//.}}}.....//.{{{
15540 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
15560 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
15580 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
155a0 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
155c0 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......*.....
155e0 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......*......*.
15600 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
15620 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....
15640 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
15660 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
15680 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);.....}...
156a0 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().
156c0 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
156e0 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
15700 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
15720 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......*
15740 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.
15760 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.
15780 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
157a0 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
157c0 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.
157e0 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
15800 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
15820 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
15840 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
15860 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).{..
15880 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
158a0 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
158c0 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
158e0 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);.......
15900 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).{.........
15920 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;.........}......
15940 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;.....}......//.}}
15960 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()....../*
15980 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.
159a0 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.
159c0 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
159e0 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
15a00 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
15a20 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....
15a40 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
15a60 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......
15a80 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
15aa0 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
15ac0 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
15ae0 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
15b00 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
15b20 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
15b40 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
15b60 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
15b80 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
15ba0 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.
15bc0 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;.............}.........}...
15be0 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
15c00 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.=.
15c20 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
15c40 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.{......
15c60 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($
15c80 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.(!
15ca0 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
15cc0 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);...
15ce0 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).{........
15d00 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;...........
15d20 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
15d40 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);.........}
15d60 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;.....}....
15d80 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()
15da0 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
15dc0 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
15de0 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
15e00 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
15e20 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......*....
15e40 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......*......*
15e60 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
15e80 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......
15ea0 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
15ec0 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
15ee0 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
15f00 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);....
15f20 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
15f40 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]))
15f60 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;....
15f80 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
15fa0 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]);.....
15fc0 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[(
15fe0 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
16000 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;.....}......//.}}}.....//.{{
16020 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
16040 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).....{.....
16060 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
16080 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");.....
160a0 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
160c0 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");......}..
160e0 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
16100 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().....
16120 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();.....}.
16140 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(
16160 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().....{
16180 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();.....}
161a0 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(
161c0 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
161e0 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.....
16200 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.
16220 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......*......*.
16240 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
16260 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
16280 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
162a0 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).....{...
162c0 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(
162e0 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).{
16300 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
16320 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();.........}.........
16340 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;.....}......//.}}}
16360 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()....../**..
16380 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.
163a0 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
163c0 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
163e0 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.
16400 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
16420 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......*/.
16440 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)...
16460 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
16480 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.
164a0 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.$
164c0 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();........
164e0 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;.....}..
16500 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
16520 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
16540 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
16560 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
16580 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
165a0 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.
165c0 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
165e0 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.
16600 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.
16620 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))
16640 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_
16660 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)
16680 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.{.............$
166a0 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
166c0 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;......}......//.}}}
166e0 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()....../
16700 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
16720 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
16740 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
16760 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
16780 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
167a0 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....
167c0 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()
167e0 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
16800 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);.....}.....
16820 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().....
16840 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
16860 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
16880 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
168a0 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
168c0 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
168e0 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
16900 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......
16920 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
16940 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
16960 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
16980 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
169a0 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......*
169c0 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,
169e0 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).....{........
16a00 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_
16a20 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);.........$
16a40 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.{........
16a60 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
16a80 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
16aa0 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->
16ac0 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
16ae0 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
16b00 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).
16b20 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
16b40 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).{
16b60 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;...
16b80 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
16ba0 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);.......
16bc0 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
16be0 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
16c00 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;.................}.....
16c20 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.{................
16c40 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;.............}.....
16c60 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
16c80 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)).{......
16ca0 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;.........}
16cc0 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(
16ce0 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);.....}....../
16d00 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(
16d20 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($
16d40 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
16d60 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',.'_'
16d80 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.=
16da0 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
16dc0 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
16de0 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.${
16e00 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}."......................
16e20 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
16e40 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,'.........
16e60 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
16e80 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))');.....}......//.}}}....
16ea0 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
16ec0 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)....
16ee0 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('
16f00 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);
16f20 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
16f40 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"),.
16f60 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
16f80 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
16fa0 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");.....}......//.}}}.....//.{
16fc0 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
16fe0 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).....{........
17000 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'].
17020 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').{.............
17040 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
17060 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...........
17080 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.
170a0 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.
170c0 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('/^\
170e0 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',.
17100 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
17120 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+
17140 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*$/',.............
17160 20 20 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
17180 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);..
171a0 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
171c0 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;.....}......//.}}}.
171e0 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()....
17200 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
17220 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
17240 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
17260 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
17280 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));.........}.
172a0 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
172c0 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,......
172e0 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($
17300 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));.....}....../
17320 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()....
17340 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
17360 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
17380 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
173a0 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();........../*.....
173c0 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
173e0 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
17400 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
17420 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
17440 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
17460 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][
17480 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..........*.
174a0 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......
174c0 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
174e0 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
17500 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..........*..........*.
17520 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....
17540 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[]:..........*...
17560 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
17580 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
175a0 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]
175c0 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..........*
175e0 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.....
17600 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
17620 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
17640 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"
17660 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
17680 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
176a0 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.
176c0 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......
176e0 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
17700 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'])).{........
17720 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_
17740 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..........*.
17760 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
17780 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
177a0 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
177c0 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.
177e0 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"..........*.........
17800 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.
17820 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......
17840 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.
17860 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.
17880 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
178a0 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..........*........
178c0 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
178e0 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..........*......
17900 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_
17920 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.|..........*....
17940 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
17960 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..........*
17980 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
179a0 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
179c0 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.
179e0 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
17a00 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.=.
17a20 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
17a40 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'],......................
17a60 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->
17a80 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
17aa0 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
17ac0 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();.....
17ae0 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
17b00 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
17b20 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
17b40 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)).
17b60 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->
17b80 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();.............}
17ba0 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
17bc0 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);..........//
17be0 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
17c00 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
17c20 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)).{
17c40 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
17c60 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[
17c80 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
17ca0 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
17cc0 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
17ce0 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);.................$
17d00 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_
17d20 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);................
17d40 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
17d60 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);..............
17d80 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
17da0 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);............
17dc0 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.....
17de0 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
17e00 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<$
17e20 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++).{.................$
17e40 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_
17e60 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);................
17e80 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
17ea0 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);..............
17ec0 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
17ee0 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);............
17f00 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_
17f20 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);..........
17f40 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
17f60 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);........
17f80 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
17fa0 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).{.....................$
17fc0 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']].=
17fe0 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;.................}..........
18000 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_
18020 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).{...................
18040 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
18060 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;.
18080 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 ................}.............}.
180a0 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
180c0 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.
180e0 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
18100 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
18120 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);.........}........
18140 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;.....}......//.}}}.
18160 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()....
18180 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
181a0 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...
181c0 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
181e0 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..
18200 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
18220 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
18240 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).....{.......
18260 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
18280 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
182a0 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
182c0 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';......
182e0 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
18300 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
18320 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
18340 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/
18360 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
18380 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..?>.........................
183a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18400 44 42 2d 31 2e 32 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.2/DB/ibase.php.............
18420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
18480 20 20 34 36 32 32 35 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 31 34 36 20 00 00 00 00 00 ..46225..7466465701...7146......
184a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18600 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.//.//.+-------------------
18620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
18640 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
18660 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.........................
18680 20 20 20 20 20 20 20 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 ...............................|
186a0 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 .//.+---------------------------
186c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
186e0 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).
18700 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.........
18720 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 .......................|.//.+---
18740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
18760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
18780 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
187a0 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
187c0 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
187e0 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
18800 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........|.//.
18820 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
18840 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
18860 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
18880 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...............
188a0 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
188c0 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
188e0 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...|
18900 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
18920 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
18940 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
18960 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
18980 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................|.//.+---
189a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
189c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
189e0 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
18a00 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>............
18a20 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 ...............|.//.+-----------
18a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
18a60 2d 2d 2d 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 ---------------------------+.//.
18a80 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/
18aa0 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
18ac0 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
18ae0 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.
18b00 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.'
18b20 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.
18b40 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
18b60 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
18b80 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;..
18ba0 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();..
18bc0 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().....{...
18be0 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();.......
18c00 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';.....
18c20 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';..
18c40 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(.
18c60 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,..
18c80 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,..
18ca0 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
18cc0 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.
18ce0 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
18d00 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.
18d20 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
18d40 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
18d60 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-
18d80 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(.........
18da0 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,....
18dc0 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
18de0 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.=>.
18e00 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,......
18e20 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
18e40 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
18e60 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.
18e80 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,.
18ea0 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
18ec0 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
18ee0 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.=
18f00 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,.............
18f20 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,.......
18f40 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
18f60 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
18f80 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.=
18fa0 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,.............
18fc0 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,...
18fe0 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
19000 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
19020 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
19040 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,........
19060 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
19080 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
190a0 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,..........
190c0 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,...
190e0 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
19100 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
19120 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.........)
19140 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
19160 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)....
19180 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
191a0 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')).{.............
191c0 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
191e0 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);.........
19200 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;
19220 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
19240 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[
19260 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.=.$
19280 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'].?...........
192a0 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']...
192c0 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']).:..
192e0 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
19300 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
19320 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
19340 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';..........$
19360 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
19380 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[]
193a0 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;
193c0 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)
193e0 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[]
19400 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']).?.
19420 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;.....
19440 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['
19460 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']
19480 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
194a0 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
194c0 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
194e0 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']
19500 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;.
19520 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.
19540 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).{.............$
19560 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
19580 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.
195a0 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).{............
195c0 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
195e0 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
19600 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
19620 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);........
19640 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
19660 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
19680 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");.........}.........*
196a0 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
196c0 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
196e0 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).{......
19700 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
19720 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);..
19740 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
19760 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
19780 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
197a0 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
197c0 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);........
197e0 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;......
19800 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
19820 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).....{...
19840 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
19860 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.
19880 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
198a0 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);.........$
198c0 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
198e0 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.(!$
19900 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
19920 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();.........}
19940 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.&
19960 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_
19980 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);......
199a0 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.
199c0 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,
199e0 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
19a00 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..........
19a20 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_
19a40 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;.....}......//.{{{.
19a60 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()....../**.....
19a80 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
19aa0 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.....*
19ac0 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
19ae0 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.....*
19b00 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
19b20 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
19b40 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
19b60 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
19b80 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
19ba0 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
19bc0 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
19be0 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
19c00 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
19c20 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
19c40 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
19c60 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,.$
19c80 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->
19ca0 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').{
19cc0 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
19ce0 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
19d00 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.............
19d20 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
19d40 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',..................
19d60 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.$
19d80 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);..
19da0 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;.
19dc0 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
19de0 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
19e00 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
19e20 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.
19e40 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
19e60 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......*......*
19e80 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
19ea0 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
19ec0 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......
19ee0 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
19f00 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;.
19f20 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.
19f40 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
19f60 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).....{......
19f80 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).{......
19fa0 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
19fc0 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);.....
19fe0 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
1a000 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).{............
1a020 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
1a040 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));............
1a060 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
1a080 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').{......
1a0a0 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
1a0c0 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);........
1a0e0 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.{.........
1a100 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
1a120 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).
1a140 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
1a160 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
1a180 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
1a1a0 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.{
1a1c0 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;...
1a1e0 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
1a200 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.
1a220 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
1a240 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)).{..........
1a260 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
1a280 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
1a2a0 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
1a2c0 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
1a2e0 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
1a300 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]
1a320 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_
1a340 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
1a360 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
1a380 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
1a3a0 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);........
1a3c0 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
1a3e0 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).....{........
1a400 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
1a420 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).{.......
1a440 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
1a460 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.
1a480 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
1a4a0 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->
1a4c0 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
1a4e0 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)
1a500 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(
1a520 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
1a540 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
1a560 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;....
1a580 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,.
1a5a0 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
1a5c0 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
1a5e0 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).{.....
1a600 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
1a620 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.($
1a640 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).{.............
1a660 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);
1a680 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
1a6a0 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
1a6c0 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
1a6e0 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
1a700 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)...
1a720 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.=.
1a740 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
1a760 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
1a780 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
1a7a0 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);.....}..
1a7c0 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
1a7e0 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_
1a800 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
1a820 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.
1a840 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)
1a860 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
1a880 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
1a8a0 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();
1a8c0 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().....
1a8e0 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
1a900 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
1a920 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
1a940 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
1a960 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.......*......*.@
1a980 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
1a9a0 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
1a9c0 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
1a9e0 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
1aa00 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
1aa20 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....
1aa40 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
1aa60 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).....{.....
1aa80 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
1aaa0 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
1aac0 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;......
1aae0 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
1ab00 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);
1ab20 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
1ab40 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
1ab60 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".........
1ab80 20 20 20 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
1aba0 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}_
1abc0 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
1abe0 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.($
1ac00 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)
1ac20 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;
1ac40 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
1ac60 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);....
1ac80 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
1aca0 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
1acc0 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;.................}..
1ace0 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.{.............
1ad00 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;.............}..
1ad20 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);.......
1ad40 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)).{...
1ad60 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;.......
1ad80 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
1ada0 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);.....
1adc0 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
1ade0 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];.....}......//.}}}..
1ae00 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()......
1ae20 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..
1ae40 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_
1ae60 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...
1ae80 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
1aea0 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......*.
1aec0 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
1aee0 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)...
1af00 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
1af20 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',.'_',
1af40 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
1af60 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
1af80 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
1afa0 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")
1afc0 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
1afe0 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;...
1b000 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
1b020 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
1b040 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
1b060 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.
1b080 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
1b0a0 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
1b0c0 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......*
1b0e0 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
1b100 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
1b120 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_]
1b140 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
1b160 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.
1b180 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
1b1a0 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'");.....}.
1b1c0 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
1b1e0 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.
1b200 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.......*....
1b220 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
1b240 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
1b260 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.
1b280 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
1b2a0 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
1b2c0 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",
1b2e0 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".......*.............
1b300 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
1b320 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
1b340 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
1b360 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,.
1b380 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
1b3a0 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
1b3c0 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
1b3e0 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'.......
1b400 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_
1b420 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
1b440 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'.............
1b460 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=\'
1b480 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.'\''..............
1b4a0 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=
1b4c0 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.'\'';..........$
1b4e0 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
1b500 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
1b520 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
1b540 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();.....
1b560 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
1b580 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)).{......
1b5a0 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
1b5c0 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-
1b5e0 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).==
1b600 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').{...............
1b620 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.';.....
1b640 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
1b660 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
1b680 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').{.............
1b6a0 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.';...
1b6c0 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 ...........}..........}.........
1b6e0 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
1b700 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,'....................
1b720 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
1b740 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,'........................'
1b760 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,'....
1b780 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
1b7a0 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'.........
1b7c0 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
1b7e0 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
1b800 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
1b820 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'..........
1b840 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
1b860 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.'\''........
1b880 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
1b8a0 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.'\'';........
1b8c0 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
1b8e0 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
1b900 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
1b920 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();..
1b940 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
1b960 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)).{...
1b980 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
1b9a0 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
1b9c0 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)).{..................$
1b9e0 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.';...........
1ba00 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
1ba20 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)).{..................$
1ba40 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.';............
1ba60 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-
1ba80 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
1baa0 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.';............
1bac0 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-
1bae0 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).
1bb00 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
1bb20 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.';..............}..........}.
1bb40 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);..
1bb60 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
1bb80 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
1bba0 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
1bbc0 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
1bbe0 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.
1bc00 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
1bc20 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
1bc40 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
1bc60 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
1bc80 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
1bca0 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
1bcc0 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
1bce0 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).......*.......*.
1bd00 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.
1bd20 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
1bd40 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.
1bd60 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.=
1bd80 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;........
1bda0 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();.........../*
1bdc0 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,
1bde0 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.
1be00 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:...........*...........*.
1be20 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):......
1be40 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[]:...........*...
1be60 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........
1be80 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.
1bea0 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
1bec0 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"].
1bee0 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
1bf00 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.........
1bf20 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
1bf40 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
1bf60 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"]
1bf80 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.....
1bfa0 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
1bfc0 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
1bfe0 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
1c000 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...........*...[
1c020 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.......
1c040 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
1c060 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.
1c080 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
1c0a0 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.
1c0c0 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
1c0e0 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............*
1c100 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
1c120 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'])).{..............
1c140 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
1c160 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...........*....
1c180 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
1c1a0 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"]
1c1c0 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
1c1e0 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."
1c200 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"...........*.........
1c220 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
1c240 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.....
1c260 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
1c280 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
1c2a0 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
1c2c0 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...........*....
1c2e0 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
1c300 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...........*
1c320 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
1c340 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.|.........
1c360 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
1c380 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....
1c3a0 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
1c3c0 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
1c3e0 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
1c400 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...........
1c420 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)).{.......
1c440 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->
1c460 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
1c480 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)
1c4a0 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
1c4c0 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();...........
1c4e0 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
1c500 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
1c520 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;
1c540 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)).{.
1c560 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
1c580 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();..............}
1c5a0 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.=.@
1c5c0 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);..........
1c5e0 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
1c600 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
1c620 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
1c640 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
1c660 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++).{................
1c680 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,
1c6a0 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][
1c6c0 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)).
1c6e0 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.:.'';.................
1c700 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
1c720 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
1c740 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'];.........
1c760 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
1c780 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'];..................$
1c7a0 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
1c7c0 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
1c7e0 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).:.'';.
1c800 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.
1c820 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
1c840 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;..............
1c860 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++).{..
1c880 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
1c8a0 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);.............
1c8c0 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
1c8e0 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.:.'';...
1c900 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'].
1c920 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'];...............
1c940 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
1c960 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][
1c980 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'];.....
1c9a0 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'].=
1c9c0 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->_
1c9e0 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'],.$
1ca00 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
1ca20 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).{
1ca40 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
1ca60 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;.....
1ca80 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 .............}..................
1caa0 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
1cac0 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
1cae0 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']
1cb00 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;.......
1cb20 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 ...........}..............}.....
1cb40 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
1cb60 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.
1cb80 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($
1cba0 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
1cbc0 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);..........}..........
1cbe0 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;......}......//.}}}.
1cc00 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()....
1cc20 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
1cc40 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...
1cc60 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
1cc80 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..
1cca0 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
1ccc0 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
1cce0 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).....{.......
1cd00 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
1cd20 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
1cd40 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;.
1cd60 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;..
1cd80 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
1cda0 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
1cdc0 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
1cde0 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
1ce00 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
1ce20 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();.........//.
1ce40 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
1ce60 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
1ce80 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()
1cea0 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
1cec0 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
1cee0 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\-]
1cf00 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)).{...
1cf20 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).{
1cf40 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.=.
1cf60 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
1cf80 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.
1cfa0 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
1cfc0 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
1cfe0 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.
1d000 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)................
1d020 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).{........
1d040 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:.........
1d060 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
1d080 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'))).{...
1d0a0 20 20 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
1d0c0 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;........
1d0e0 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 .................}..............
1d100 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;...................
1d120 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:......................
1d140 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
1d160 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);.................}...
1d180 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.
1d1a0 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];.........}
1d1c0 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->
1d1e0 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,.$
1d200 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,.........................
1d220 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);.....}....../
1d240 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:
1d260 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
1d280 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:..*/..?>...........
1d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d400 44 42 2d 31 2e 32 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.2/DB/ifx.php...............
1d420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
1d480 20 20 32 33 33 36 32 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 36 34 36 20 00 00 00 00 00 ..23362..7466465701...6646......
1d4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d600 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.//.//.+-------------------
1d620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1d640 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
1d660 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.........................
1d680 20 20 20 20 20 20 20 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 ...............................|
1d6a0 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 .//.+---------------------------
1d6c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1d6e0 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).
1d700 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.........
1d720 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 .......................|.//.+---
1d740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1d760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1d780 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
1d7a0 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
1d7c0 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
1d7e0 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
1d800 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........|.//.
1d820 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
1d840 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
1d860 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
1d880 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...............
1d8a0 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
1d8c0 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
1d8e0 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...|
1d900 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
1d920 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
1d940 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
1d960 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
1d980 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................|.//.+---
1d9a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1d9c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1d9e0 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.
1da00 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>...............
1da20 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 ...............|.//.+-----------
1da40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1da60 2d 2d 2d 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 ---------------------------+.//.
1da80 2f 2f 20 24 49 64 3a 20 69 66 78 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f 30 39 //.$Id:.ifx.php,v.1.3.2002/05/09
1daa0 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 61 .12:29:53.ssb.Exp.$.//.//.Databa
1dac0 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
1dae0 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.//.
1db00 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
1db20 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
1db40 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
1db60 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.//.//.
1db80 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
1dba0 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
1dbc0 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
1dbe0 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
1dc00 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.{.....
1dc20 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
1dc40 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();.
1dc60 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
1dc80 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
1dca0 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().....{
1dcc0 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';
1dce0 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'
1dd00 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
1dd20 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
1dd40 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
1dd60 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'.=>
1dd80 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'.=>.'
1dda0 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
1ddc0 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(.......
1dde0 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
1de00 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_
1de20 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,.............'
1de40 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
1de60 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
1de80 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,.............'-
1dea0 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
1dec0 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
1dee0 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,.............'-
1df00 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
1df20 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
1df40 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,.............'-
1df60 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
1df80 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
1dfa0 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........);.....}
1dfc0 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
1dfe0 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
1e000 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
1e020 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:
1e040 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
1e060 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
1e080 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......*.
1e0a0 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......*.....
1e0c0 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,
1e0e0 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.....
1e100 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
1e120 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).....{..
1e140 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(
1e160 27 69 6e 66 6f 72 6d 69 78 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 'informix')).............return.
1e180 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 4e $this->raiseError(DB_ERROR_EXTEN
1e1a0 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 2d SION_NOT_FOUND);..........$this-
1e1c0 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 64 62 68 6f 73 74 >dsn.=.$dsninfo;.........$dbhost
1e1e0 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 20 27 40 27 20 2e 20 .=.$dsninfo['hostspec'].?.'@'...
1e200 24 64 73 6e 69 6e 66 6f 5b 27 68 6f 73 74 73 70 65 63 27 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 $dsninfo['hostspec'].:.'';......
1e220 20 20 20 24 64 62 6e 61 6d 65 20 3d 20 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 ...$dbname.=.$dsninfo['database'
1e240 5d 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 20 2e 20 24 64 62 68 6f ].?.$dsninfo['database']...$dbho
1e260 73 74 20 3a 20 27 27 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 st.:.'';.........$user.=.$dsninf
1e280 6f 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 75 73 65 72 6e 61 o['username'].?.$dsninfo['userna
1e2a0 6d 65 27 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 24 70 77 20 3d 20 24 64 73 6e 69 6e 66 me'].:.'';.........$pw.=.$dsninf
1e2c0 6f 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3f 20 24 64 73 6e 69 6e 66 6f 5b 27 70 61 73 73 77 6f o['password'].?.$dsninfo['passwo
1e2e0 72 64 27 5d 20 3a 20 27 27 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 6e 65 63 74 5f 66 75 6e rd'].:.'';..........$connect_fun
1e300 63 74 69 6f 6e 20 3d 20 24 70 65 72 73 69 73 74 65 6e 74 20 3f 20 27 69 66 78 5f 70 63 6f 6e 6e ction.=.$persistent.?.'ifx_pconn
1e320 65 63 74 27 20 3a 20 27 69 66 78 5f 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 24 ect'.:.'ifx_connect';..........$
1e340 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 20 3d 20 40 24 63 6f 6e 6e 65 63 74 5f 66 75 6e this->connection.=.@$connect_fun
1e360 63 74 69 6f 6e 28 24 64 62 6e 61 6d 65 2c 20 24 75 73 65 72 2c 20 24 70 77 29 3b 0a 20 20 20 20 ction($dbname,.$user,.$pw);.....
1e380 20 20 20 20 69 66 20 28 21 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e ....if.(!is_resource($this->conn
1e3a0 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 74 75 72 6e 20 24 74 ection)).{.............return.$t
1e3c0 68 69 73 2d 3e 69 66 78 72 61 69 73 65 45 72 72 6f 72 28 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 4e his->ifxraiseError(DB_ERROR_CONN
1e3e0 45 43 54 5f 46 41 49 4c 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 ECT_FAILED);.........}.........r
1e400 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;.....}....../**.....
1e420 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
1e440 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
1e460 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
1e480 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
1e4a0 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().....{........
1e4c0 20 24 72 65 74 20 3d 20 40 69 66 78 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 .$ret.=.@ifx_close($this->connec
1e4e0 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
1e500 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;...
1e520 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 6e 64 20 61 20 71 75 65 72 79 ..}....../**......*.Send.a.query
1e540 20 74 6f 20 49 6e 66 6f 72 6d 69 78 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 .to.Informix.and.return.the.resu
1e560 6c 74 73 20 61 73 20 61 0a 20 20 20 20 20 2a 20 49 6e 66 6f 72 6d 69 78 20 72 65 73 6f 75 72 63 lts.as.a......*.Informix.resourc
1e580 65 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 e.identifier.......*......*.@par
1e5a0 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......*..
1e5c0 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
1e5e0 64 20 49 6e 66 6f 72 6d 69 78 20 72 65 73 75 6c 74 20 66 6f 72 20 73 75 63 63 65 73 73 66 75 6c d.Informix.result.for.successful
1e600 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 20 66 6f .SELECT......*.queries,.DB_OK.fo
1e620 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 41 20 44 r.other.successful.queries...A.D
1e640 42 20 65 72 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 B.error.code......*.is.returned.
1e660 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 69 6f 6e on.failure.......*/.....function
1e680 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 20 20 20 .simpleQuery($query).....{......
1e6a0 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 65 72 79 3b 0a 20 ...$this->last_query.=.$query;..
1e6c0 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 53 45 4c 45 43 54 29 .......if.(preg_match('/(SELECT)
1e6e0 2f 69 27 2c 20 24 71 75 65 72 79 29 29 20 7b 20 20 20 20 2f 2f 54 45 53 54 4d 45 3a 20 55 73 65 /i',.$query)).{....//TESTME:.Use
1e700 20 21 44 42 3a 3a 69 73 4d 61 6e 69 70 28 29 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 .!DB::isManip()?.............//.
1e720 74 68 65 20 73 63 72 6f 6c 6c 20 69 73 20 6e 65 65 64 65 64 20 66 6f 72 20 66 65 74 63 68 69 6e the.scroll.is.needed.for.fetchin
1e740 67 20 61 62 73 6f 6c 75 74 65 20 72 6f 77 20 6e 75 6d 62 65 72 73 0a 20 20 20 20 20 20 20 20 20 g.absolute.row.numbers..........
1e760 20 20 20 2f 2f 20 69 6e 20 61 20 73 65 6c 65 63 74 20 71 75 65 72 79 20 72 65 73 75 6c 74 0a 20 ...//.in.a.select.query.result..
1e780 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 69 66 78 5f 71 75 65 72 79 28 ...........$result.=.@ifx_query(
1e7a0 24 71 75 65 72 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 49 46 58 5f 53 $query,.$this->connection,.IFX_S
1e7c0 43 52 4f 4c 4c 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 CROLL);.........}.else.{........
1e7e0 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 40 69 66 78 5f 71 75 65 72 79 28 24 71 75 65 72 79 .....$result.=.@ifx_query($query
1e800 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 7d 0a ,.$this->connection);.........}.
1e820 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).{.........
1e840 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 72 28 ....return.$this->ifxraiseError(
1e860 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 61 66 66 65 );.........}.........$this->affe
1e880 63 74 65 64 20 3d 20 69 66 78 5f 61 66 66 65 63 74 65 64 5f 72 6f 77 73 20 28 24 72 65 73 75 6c cted.=.ifx_affected_rows.($resul
1e8a0 74 29 3b 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 t);.........//.Determine.which.q
1e8c0 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 20 ueries.that.should.return.data,.
1e8e0 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 75 and.which.........//.should.retu
1e900 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 69 rn.an.error.code.only..........i
1e920 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 53 45 4c 45 43 54 29 2f 69 27 2c 20 24 71 75 f.(preg_match('/(SELECT)/i',.$qu
1e940 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 24 72 65 73 75 ery)).{.............return.$resu
1e960 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 44 42 5f lt;.........}.........return.DB_
1e980 4f 4b 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 OK;.....}......//.{{{.nextResult
1e9a0 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 74 65 ()....../**......*.Move.the.inte
1e9c0 72 6e 61 6c 20 69 66 78 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e rnal.ifx.result.pointer.to.the.n
1e9e0 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 20 20 20 20 ext.available.result......*.....
1ea00 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 6c 74 20 72 .*.@param.a.valid.fbsql.result.r
1ea20 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 73 20 70 75 esource......*......*.@access.pu
1ea40 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 72 75 65 20 blic......*......*.@return.true.
1ea60 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 65 72 77 69 if.a.result.is.available.otherwi
1ea80 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 66 75 6e 63 se.return.false......*/.....func
1eaa0 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 20 7b 0a 20 tion.nextResult($result).....{..
1eac0 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;.....}......
1eae0 2f 2f 20 7d 7d 7d 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 //.}}}....../**......*.Gets.the.
1eb00 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
1eb20 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
1eb40 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 61 6e 20 5f 65 73 ery.was.a.select,.returns.an._es
1eb60 74 69 6d 61 74 65 5f 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 timate_.value.......*......*.@re
1eb80 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 64 20 62 79 20 turn.number.of.rows.affected.by.
1eba0 74 68 65 20 6c 61 73 74 20 71 75 65 72 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 66 75 6e 63 74 the.last.query......*/.....funct
1ebc0 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 20 20 20 20 20 20 ion.affectedRows().....{........
1ebe0 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 66 66 65 63 74 65 64 3b 0a 20 20 20 20 7d 0a 0a .return.$this->affected;.....}..
1ec00 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 20 ..../**......*.Fetch.and.return.
1ec20 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 6f a.row.of.data.(it.uses.fetchInto
1ec40 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 20 20 24 72 65 73 75 .for.that)......*.@param...$resu
1ec60 6c 74 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 66 6f 72 6d 69 78 20 72 65 73 75 6c 74 20 69 lt.............Informix.result.i
1ec80 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 63 68 dentifier......*.@param...$fetch
1eca0 6d 6f 64 65 20 20 20 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 mode.....format.of.fetched.row.a
1ecc0 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 6d 20 20 20 20 rray......*.@param...$rownum....
1ece0 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 20 66 ....the.absolute.row.number.to.f
1ed00 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 72 61 etch......*......*.@return..arra
1ed20 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 20 65 y...a.row.of.data,.or.false.on.e
1ed40 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 68 52 rror......*/.....function.fetchR
1ed60 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 54 43 ow($result,.$fetchmode.=.DB_FETC
1ed80 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 20 20 HMODE_DEFAULT,.$rownum=null)....
1eda0 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 42 5f .{.........if.($fetchmode.==.DB_
1edc0 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 20 20 FETCHMODE_DEFAULT).{............
1ede0 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 3b 0a .$fetchmode.=.$this->fetchmode;.
1ee00 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 2d 3e ........}.........$res.=.$this->
1ee20 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 63 68 fetchInto.($result,.$arr,.$fetch
1ee40 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 65 73 mode,.$rownum);.........if.($res
1ee60 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 6e .!==.DB_OK).{.............return
1ee80 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 6e 20 .$res;.........}.........return.
1eea0 24 61 72 72 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 63 $arr;.....}....../**......*.Fetc
1eec0 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 20 h.a.row.and.return.as.array.....
1eee0 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 20 24 72 65 73 75 6c 74 20 20 20 20 20 ..*......*.@param...$result.....
1ef00 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 20 20 Informix.result.identifier......
1ef20 2a 20 40 70 61 72 61 6d 20 20 20 24 72 6f 77 20 20 20 20 20 20 20 20 20 28 72 65 66 65 72 65 6e *.@param...$row.........(referen
1ef40 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 20 72 6f ce).array.where.data.from.the.ro
1ef60 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 20 20 24 66 65 74 w.is.stored......*.@param...$fet
1ef80 63 68 6d 6f 64 65 20 20 20 20 20 20 68 6f 77 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 61 72 chmode......how.the.resulting.ar
1efa0 72 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 20 40 70 61 ray.should.be.indexed......*.@pa
1efc0 72 61 6d 20 20 20 24 72 6f 77 6e 75 6d 20 20 20 20 20 74 68 65 20 72 6f 77 20 6e 75 6d 62 65 72 ram...$rownum.....the.row.number
1efe0 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 74 75 72 6e 20 .to.fetch......*......*.@return.
1f000 69 6e 74 20 61 6e 20 61 72 72 61 79 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 20 44 42 20 65 72 int.an.array.on.success,.a.DB.er
1f020 72 6f 72 20 63 6f 64 65 20 6f 6e 20 66 61 69 6c 75 72 65 2c 20 4e 55 4c 4c 0a 20 20 20 20 20 2a ror.code.on.failure,.NULL......*
1f040 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6d 6f 72 65 .............if.there.is.no.more
1f060 20 64 61 74 61 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 .data......*/.....function.fetch
1f080 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,
1f0a0 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 69 66 20 .$rownum=null).....{.........if.
1f0c0 28 28 24 72 6f 77 6e 75 6d 20 21 3d 3d 20 6e 75 6c 6c 29 20 26 26 20 28 24 72 6f 77 6e 75 6d 20 (($rownum.!==.null).&&.($rownum.
1f0e0 3c 20 30 29 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 6c 3b <.0)).{.............return.null;
1f100 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 24 72 6f 77 6e 75 6d .........}.........//.if.$rownum
1f120 20 69 73 20 6e 75 6c 6c 2c 20 66 65 74 63 68 20 72 6f 77 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 .is.null,.fetch.row.will.return.
1f140 74 68 65 20 6e 65 78 74 20 72 6f 77 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 6f 77 20 3d the.next.row.........if.(!$row.=
1f160 20 40 69 66 78 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 6d .@ifx_fetch_row($result,.$rownum
1f180 29 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 6c 3b 0a 20 20 )).{.............return.null;...
1f1a0 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 21 ......}.........if.($fetchmode.!
1f1c0 3d 3d 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 ==.DB_FETCHMODE_ASSOC).{........
1f1e0 20 20 20 20 20 24 69 3d 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 72 64 65 72 20 3d 20 .....$i=0;.............$order.=.
1f200 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 array();.............foreach.($r
1f220 6f 77 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ow.as.$key.=>.$val).{...........
1f240 20 20 20 20 20 20 24 6f 72 64 65 72 5b 24 69 2b 2b 5d 20 3d 20 24 76 61 6c 3b 0a 20 20 20 20 20 ......$order[$i++].=.$val;......
1f260 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 24 6f 72 64 .......}.............$row.=.$ord
1f280 65 72 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 er;.........}.........return.DB_
1f2a0 4f 4b 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 OK;.....}......function.numRows(
1f2c0 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 24 74 $result).....{.........return.$t
1f2e0 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 50 his->raiseError(DB_ERROR_NOT_CAP
1f300 41 42 4c 45 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 47 65 74 ABLE);.....}....../**......*.Get
1f320 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 20 61 20 72 65 73 75 .the.number.of.columns.in.a.resu
1f340 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 6d 20 24 72 65 lt.set.......*......*.@param.$re
1f360 73 75 6c 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 sult.Informix.result.identifier.
1f380 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
1f3a0 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 75 mber.of.columns.per.row.in.$resu
1f3c0 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 28 lt......*/.....function.numCols(
1f3e0 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 21 24 63 6f 6c $result).....{.........if.(!$col
1f400 73 20 3d 20 40 69 66 78 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 72 65 73 75 6c 74 29 29 20 7b 0a s.=.@ifx_num_fields($result)).{.
1f420 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
1f440 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
1f460 75 72 6e 20 24 63 6f 6c 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a urn.$cols;.....}....../**......*
1f480 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 73 73 .Free.the.internal.resources.ass
1f4a0 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 20 20 ociated.with.$result.......*....
1f4c0 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 75 ..*.@param.$result.Informix.resu
1f4e0 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 74 lt.identifier......*......*.@ret
1f500 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 44 42 5f 65 72 72 urn.bool.TRUE.on.success,.DB_err
1f520 6f 72 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 69 6f 6e or.on.error......*/.....function
1f540 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 20 .freeResult($result).....{......
1f560 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 20 ...if.(is_resource($result)).{..
1f580 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 69 66 78 5f 66 72 65 65 5f 72 65 73 75 6c 74 ...........if.(!@ifx_free_result
1f5a0 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 72 65 74 ($result)).{.................ret
1f5c0 75 72 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 urn.$this->ifxraiseError();.....
1f5e0 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 74 72 75 ........}.............return.tru
1f600 65 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 e;.........}.........if.(!isset(
1f620 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
1f640 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
1f660 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-
1f680 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]);.
1f6a0 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
1f6c0 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 74 75 72 es[(int)$result]);.........retur
1f6e0 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 69 66 78 72 n.true;.....}......function.ifxr
1f700 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 20 20 20 7b 0a 20 aiseError($errno.=.null).....{..
1f720 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 0a 20 20 .......if.($errno.===.null).{...
1f740 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 65 72 72 6f 72 43 ..........$errno.=.$this->errorC
1f760 6f 64 65 28 69 66 78 5f 65 72 72 6f 72 28 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 ode(ifx_error());.........}.....
1f780 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
1f7a0 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,.........
1f7c0 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 65 72 72 6f 72 ....................$this->error
1f7e0 4e 61 74 69 76 65 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a Native());.....}....../**......*
1f800 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 6f 20 44 42 27 73 20 .Map.native.error.codes.to.DB's.
1f820 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 74 68 61 74 0a 20 20 portable.ones...Requires.that...
1f840 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 6e 27 73 20 63 6f 6e ...*.the.DB.implementation's.con
1f860 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 72 6f 72 63 6f 64 65 structor.fills.in.the.$errorcode
1f880 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 20 20 2a 0a 20 20 20 _map......*.property.......*....
1f8a0 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 61 20 70 6f 72 74 61 62 6c 65 20 44 42 20 65 72 ..*.@return.int.a.portable.DB.er
1f8c0 72 6f 72 20 63 6f 64 65 2c 20 6f 72 20 44 42 5f 45 52 52 4f 52 20 69 66 20 74 68 69 73 20 44 42 ror.code,.or.DB_ERROR.if.this.DB
1f8e0 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 6e 6f 20 6d 61 ......*.implementation.has.no.ma
1f900 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 6f 64 65 2e 0a pping.for.the.given.error.code..
1f920 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 43 6f 64 65 28 .....*/......function.errorCode(
1f940 24 6e 61 74 69 76 65 63 6f 64 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 $nativecode).....{.........if.(e
1f960 72 65 67 28 27 53 51 4c 43 4f 44 45 3d 28 2e 2a 29 5d 27 2c 20 24 6e 61 74 69 76 65 63 6f 64 65 reg('SQLCODE=(.*)]',.$nativecode
1f980 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 64 65 20 3d ,.$match)).{.............$code.=
1f9a0 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 .$match[1];.............if.(isse
1f9c0 74 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 5b 24 63 6f 64 65 5d 29 29 20 t($this->errorcode_map[$code])).
1f9e0 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->
1fa00 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 5b 24 63 6f 64 65 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 errorcode_map[$code];...........
1fa20 20 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 44 42 5f ..}.........}.........return.DB_
1fa40 45 52 52 4f 52 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 ERROR;.....}....../**......*.Get
1fa60 20 74 68 65 20 6e 61 74 69 76 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 6f 66 20 74 68 65 .the.native.error.message.of.the
1fa80 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......*
1faa0 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
1fac0 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
1fae0 74 69 76 65 20 49 6e 66 6f 72 6d 69 78 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f tive.Informix.error.code......*/
1fb00 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 20 20 .....function.errorNative().....
1fb20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 66 78 5f 65 72 72 6f 72 28 29 20 2e 20 27 {.........return.ifx_error()...'
1fb40 20 27 20 2e 20 69 66 78 5f 65 72 72 6f 72 6d 73 67 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .'...ifx_errormsg();.....}......
1fb60 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 20 20 2f 2a //.{{{.getSpecialQuery()....../*
1fb80 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 65 64 65 64 *.....*.Returns.the.query.needed
1fba0 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 20 20 2a 20 .to.get.some.backend.info.....*.
1fbc0 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 64 20 6f 66 @param.string.$type.What.kind.of
1fbe0 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 20 20 20 2a .info.you.want.to.retrieve.....*
1fc00 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 79 20 73 74 .@return.string.The.SQL.query.st
1fc20 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 53 70 65 63 ring.....*/.....function.getSpec
1fc40 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 20 20 73 77 ialQuery($type).....{.........sw
1fc60 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 61 73 65 20 itch.($type).{.............case.
1fc80 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 74 3a 0a 20 'tables':.............default:..
1fca0 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;.....
1fcc0 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 20 20 20 7d ....}.........return.$sql;.....}
1fce0 0a 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 7d 0a 0a 3f 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......//.}}}.}..?>..............
1fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe00 44 42 2d 31 2e 32 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.2/DB/msql.php..............
1fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
1fe80 20 20 31 33 35 32 36 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 30 33 35 20 00 00 00 00 00 ..13526..7466465701...7035......
1fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20000 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.//.//.+-------------------
20020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
20040 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
20060 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.........................
20080 20 20 20 20 20 20 20 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 ...............................|
200a0 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 .//.+---------------------------
200c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
200e0 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).
20100 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.........
20120 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 .......................|.//.+---
20140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
20160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
20180 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
201a0 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
201c0 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
201e0 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
20200 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........|.//.
20220 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
20240 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
20260 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
20280 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...............
202a0 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
202c0 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
202e0 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...|
20300 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
20320 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
20340 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
20360 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
20380 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................|.//.+---
203a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
203c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
203e0 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
20400 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>............
20420 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 ...............|.//.+-----------
20440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
20460 2d 2d 2d 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 ---------------------------+.//.
20480 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
204a0 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
204c0 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.
204e0 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.//
20500 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
20520 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
20540 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
20560 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
20580 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
205a0 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
205c0 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().
205e0 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()
20600 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
20620 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
20640 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
20660 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
20680 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'.=>.
206a0 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'
206c0 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'.=
206e0 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'.........);.....}....
20700 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
20720 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).....{.........
20740 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')
20760 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
20780 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
207a0 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
207c0 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['
207e0 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
20800 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.
20820 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
20840 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';....
20860 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
20880 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_
208a0 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.&
208c0 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
208e0 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,
20900 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.(
20920 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).{.............
20940 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
20960 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.{......
20980 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
209a0 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.
209c0 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
209e0 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
20a00 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_
20a20 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'],.
20a40 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
20a60 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
20a80 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
20aa0 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
20ac0 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
20ae0 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.=.@
20b00 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);..
20b20 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;
20b40 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;.....}.....
20b60 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)...
20b80 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.=.
20ba0 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->
20bc0 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
20be0 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
20c00 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
20c20 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-
20c40 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();.........}........
20c60 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
20c80 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..
20ca0 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
20cc0 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
20ce0 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
20d00 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()
20d20 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
20d40 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
20d60 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......*......
20d80 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
20da0 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
20dc0 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
20de0 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
20e00 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
20e20 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).....{...
20e40 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;.....}....../
20e60 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
20e80 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_
20ea0 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).....{....
20ec0 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
20ee0 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
20f00 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;.......
20f20 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
20f40 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,.
20f60 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
20f80 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;
20fa0 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;.
20fc0 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
20fe0 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
21000 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
21020 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
21040 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))
21060 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;.
21080 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 ............}.........}.........
210a0 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
210c0 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
210e0 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);
21100 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
21120 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);...
21140 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).{.....
21160 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(
21180 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
211a0 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);..........
211c0 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
211e0 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;.............}.........}
21200 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;.....}....
21220 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)..
21240 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
21260 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
21280 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);.........
212a0 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
212c0 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])).{.........
212e0 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;.........}.....
21300 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[
21320 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->
21340 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]);........
21360 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
21380 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).....{........
213a0 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
213c0 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).{.......
213e0 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()
21400 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
21420 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
21440 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
21460 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
21480 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.$
214a0 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();.........}...
214c0 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;.....}....../
214e0 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
21500 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.......*...
21520 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
21540 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......*/..
21560 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().....
21580 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_
215a0 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);.....}..
215c0 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()....
215e0 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
21600 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...
21620 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
21640 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..
21660 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
21680 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
216a0 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).....{.......
216c0 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
216e0 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
21700 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;.
21720 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;..
21740 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 ...}......//.}}}..}.?>..........
21760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21800 44 42 2d 31 2e 32 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.2/DB/mssql.php.............
21820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
21880 20 20 33 36 31 36 30 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 32 31 37 20 00 00 00 00 00 ..36160..7466465701...7217......
218a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a00 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.//.//.+-------------------
21a20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21a40 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
21a60 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.........................
21a80 20 20 20 20 20 20 20 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 ...............................|
21aa0 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 .//.+---------------------------
21ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21ae0 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).
21b00 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.........
21b20 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 .......................|.//.+---
21b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21b80 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
21ba0 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
21bc0 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
21be0 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
21c00 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........|.//.
21c20 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
21c40 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
21c60 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
21c80 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...............
21ca0 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
21cc0 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
21ce0 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...|
21d00 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
21d20 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
21d40 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
21d60 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
21d80 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................|.//.+---
21da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21dc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21de0 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
21e00 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>............
21e20 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 ...............|.//.+-----------
21e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21e60 2d 2d 2d 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 ---------------------------+.//.
21e80 2f 2f 20 24 49 64 3a 20 6d 73 73 71 6c 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f //.$Id:.mssql.php,v.1.3.2002/05/
21ea0 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
21ec0 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
21ee0 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.
21f00 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
21f20 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
21f40 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.{..
21f60 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
21f80 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
21fa0 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
21fc0 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
21fe0 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.
22000 24 61 75 74 6f 63 6f 6d 6d 69 74 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f $autocommit.=.true;......functio
22020 6e 20 44 42 5f 6d 73 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 n.DB_mssql().....{.........$this
22040 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 69 73 2d 3e 70 68 ->DB_common();.........$this->ph
22060 70 74 79 70 65 20 3d 20 27 6d 73 73 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ptype.=.'mssql';.........$this->
22080 64 62 73 79 6e 74 61 78 20 3d 20 27 6d 73 73 71 6c 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 dbsyntax.=.'mssql';.........$thi
220a0 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 20 20 20 20 s->features.=.array(............
220c0 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 20 20 20 20 .'prepare'.=>.false,............
220e0 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 20 20 20 20 .'pconnect'.=>.true,............
22100 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 20 20 20 20 .'transactions'.=>.true,........
22120 20 20 20 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 .....'limit'.=>.'emulate'.......
22140 20 20 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 20 41 64 64 20 68 65 72 65 20 65 72 72 ..);.........//.XXX.Add.here.err
22160 6f 72 20 63 6f 64 65 73 20 69 65 3a 20 27 53 31 30 30 45 27 20 3d 3e 20 44 42 5f 45 52 52 4f 52 or.codes.ie:.'S100E'.=>.DB_ERROR
22180 5f 53 59 4e 54 41 58 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 _SYNTAX.........$this->errorcode
221a0 5f 6d 61 70 20 3d 20 61 72 72 61 79 28 0a 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a _map.=.array(..........);.....}.
221c0 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,.
221e0 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).....{......
22200 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 6d 73 73 ...if.(!DB::assertExtension('mss
22220 71 6c 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 79 ql').&&.!DB::assertExtension('sy
22240 62 61 73 65 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 21 44 42 3a 3a 61 73 73 65 72 base').............&&.!DB::asser
22260 74 45 78 74 65 6e 73 69 6f 6e 28 27 73 79 62 61 73 65 5f 63 74 27 29 29 0a 20 20 20 20 20 20 20 tExtension('sybase_ct'))........
22280 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
222a0 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 4e 5f 4e 4f 54 5f 46 seError(DB_ERROR_EXTENSION_NOT_F
222c0 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 24 74 68 69 73 2d 3e OUND);.........}.........$this->
222e0 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.=.
22300 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
22320 77 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 20 20 20 20 20 20 w.=.$dsninfo['password'];.......
22340 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 63 27 5d ..$dbhost.=.$dsninfo['hostspec']
22360 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 63 61 6c .?.$dsninfo['hostspec'].:.'local
22380 68 6f 73 74 27 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 host';..........$connect_functio
223a0 6e 20 3d 20 24 70 65 72 73 69 73 74 65 6e 74 20 3f 20 27 6d 73 73 71 6c 5f 70 63 6f 6e 6e 65 63 n.=.$persistent.?.'mssql_pconnec
223c0 74 27 20 3a 20 27 6d 73 73 71 6c 5f 63 6f 6e 6e 65 63 74 27 3b 0a 0a 20 20 20 20 20 20 20 20 69 t'.:.'mssql_connect';..........i
223e0 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 7b 0a 20 20 f.($dbhost.&&.$user.&&.$pw).{...
22400 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 63 ..........$conn.=.@$connect_func
22420 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 20 20 20 tion($dbhost,.$user,.$pw);......
22440 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 29 20 7b ...}.elseif.($dbhost.&&.$user).{
22460 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 74 5f 66 .............$conn.=.@$connect_f
22480 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 20 20 unction($dbhost,.$user);........
224a0 20 7d 20 65 6c 73 65 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 .}.else.{.............$conn.=.@$
224c0 63 6f 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 connect_function($dbhost);......
224e0 20 20 20 7d 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 ...}.........if.(!$conn).{......
22500 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(
22520 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
22540 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,............................
22560 20 20 20 20 20 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 ..............null,.mssql_get_la
22580 73 74 5f 6d 65 73 73 61 67 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 st_message());.........}........
225a0 20 69 66 20 28 24 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 29 20 7b 0a 20 20 20 .if.($dsninfo['database']).{....
225c0 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 74 5f 64 62 28 24 .........if.(!@mssql_select_db($
225e0 64 73 6e 69 6e 66 6f 5b 27 64 61 74 61 62 61 73 65 27 5d 2c 20 24 63 6f 6e 6e 29 29 20 7b 0a 20 dsninfo['database'],.$conn)).{..
22600 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
22620 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 2c 20 6e seError(DB_ERROR_NODBSELECTED,.n
22640 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 20 20 20 20 ull,.null,......................
22660 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 73 73 71 6c 5f ....................null,.mssql_
22680 67 65 74 5f 6c 61 73 74 5f 6d 65 73 73 61 67 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 get_last_message());............
226a0 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
226c0 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
226e0 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 63 6f 6e B_OK;.....}......function.discon
22700 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 6d 73 73 nect().....{.........$ret.=.@mss
22720 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 20 20 ql_close($this->connection);....
22740 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 0a 20 .....$this->connection.=.null;..
22760 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 20 66 .......return.$ret;.....}......f
22780 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 20 20 unction.simpleQuery($query).....
227a0 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 61 6e 69 70 {.........$ismanip.=.DB::isManip
227c0 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 74 5f 71 75 ($query);.........$this->last_qu
227e0 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 20 24 ery.=.$query;.........$query.=.$
22800 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 20 20 this->modifyQuery($query);......
22820 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 20 26 26 20 24 69 73 ...if.(!$this->autocommit.&&.$is
22840 6d 61 6e 69 70 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 manip).{.............if.($this->
22860 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 transaction_opcount.==.0).{.....
22880 20 20 20 20 20 20 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 ............$result.=.@mssql_que
228a0 72 79 28 27 42 45 47 49 4e 20 54 52 41 4e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 6e 65 63 74 69 ry('BEGIN.TRAN',.$this->connecti
228c0 6f 6e 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 73 75 6c on);.................if.(!$resul
228e0 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 72 6e 20 t).{.....................return.
22900 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 20 20 20 20 $this->mssqlRaiseError();.......
22920 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 ..........}.............}.......
22940 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 75 6e 74 ......$this->transaction_opcount
22960 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 20 3d 20 ++;.........}.........$result.=.
22980 40 6d 73 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 @mssql_query($query,.$this->conn
229a0 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 75 6c 74 29 20 7b ection);.........if.(!$result).{
229c0 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 6d 73 73 71 6c .............return.$this->mssql
229e0 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();.........}.........
22a00 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 20 //.Determine.which.queries.that.
22a20 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 20 should.return.data,.and.which...
22a40 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 20 ......//.should.return.an.error.
22a60 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 24 69 73 6d 61 6e code.only..........return.$isman
22a80 69 70 20 3f 20 44 42 5f 4f 4b 20 3a 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ip.?.DB_OK.:.$result;.....}.....
22aa0 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 20 .//.{{{.nextResult()....../**...
22ac0 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6d 73 73 71 6c 20 72 65 73 ...*.Move.the.internal.mssql.res
22ae0 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 6c ult.pointer.to.the.next.availabl
22b00 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 20 e.result......*......*.@param.a.
22b20 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 20 valid.fbsql.result.resource.....
22b40 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 0a .*......*.@access.public......*.
22b60 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 20 .....*.@return.true.if.a.result.
22b80 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 61 is.available.otherwise.return.fa
22ba0 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 73 lse......*/.....function.nextRes
22bc0 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 72 ult($result).....{.........retur
22be0 6e 20 6d 73 73 71 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 n.mssql_next_result($result);...
22c00 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 26 66 ..}......//.}}}......function.&f
22c20 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 44 42 etchRow($result,.$fetchmode.=.DB
22c40 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 6c 6c _FETCHMODE_DEFAULT,.$rownum=null
22c60 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 20 3d ).....{.........if.($fetchmode.=
22c80 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 20 20 =.DB_FETCHMODE_DEFAULT).{.......
22ca0 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 68 6d ......$fetchmode.=.$this->fetchm
22cc0 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 24 74 ode;.........}.........$res.=.$t
22ce0 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 20 24 his->fetchInto.($result,.$arr,.$
22d00 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 66 20 fetchmode,.$rownum);.........if.
22d20 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 20 72 ($res.!==.DB_OK).{.............r
22d40 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 72 65 eturn.$res;.........}.........re
22d60 74 75 72 6e 20 24 61 72 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 turn.$arr;.....}......function.f
22d80 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 6f etchInto($result,.&$ar,.$fetchmo
22da0 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 20 20 20 20 20 de,.$rownum=null).....{.........
22dc0 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 20 20 20 20 20 if.($rownum.!==.null).{.........
22de0 20 20 20 20 69 66 20 28 21 40 6d 73 73 71 6c 5f 64 61 74 61 5f 73 65 65 6b 28 24 72 65 73 75 6c ....if.(!@mssql_data_seek($resul
22e00 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 20 20 20 20 72 t,.$rownum)).{.................r
22e20 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 20 20 20 20 eturn.null;.............}.......
22e40 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_
22e60 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).{.............$
22e80 61 72 20 3d 20 40 6d 73 73 71 6c 5f 66 65 74 63 68 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 ar.=.@mssql_fetch_array($result)
22ea0 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.{.............$
22ec0 61 72 20 3d 20 40 6d 73 73 71 6c 5f 66 65 74 63 68 5f 72 6f 77 28 24 72 65 73 75 6c 74 29 3b 0a ar.=.@mssql_fetch_row($result);.
22ee0 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 7b 0a 20 20 ........}.........if.(!$ar).{...
22f00 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 69 73 20 74 68 72 6f 77 73 20 69 6e 66 6f 72 6d 61 ........../*.This.throws.informa
22f20 74 69 76 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 tive.error.messages,............
22f40 20 20 20 20 64 6f 6e 27 74 20 75 73 65 20 69 74 20 66 6f 72 20 6e 6f 77 0a 20 20 20 20 20 20 20 ....don't.use.it.for.now........
22f60 20 20 20 20 20 69 66 20 28 24 6d 73 67 20 3d 20 6d 73 73 71 6c 5f 67 65 74 5f 6c 61 73 74 5f 6d .....if.($msg.=.mssql_get_last_m
22f80 65 73 73 61 67 65 28 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 essage()).{.................retu
22fa0 72 6e 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 24 6d 73 67 29 3b 0a 20 20 20 20 rn.$this->raiseError($msg);.....
22fc0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 ........}.............*/........
22fe0 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;.........}.....
23000 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 6e ....return.DB_OK;.....}......fun
23020 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 20 20 20 7b 0a ction.freeResult($result).....{.
23040 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 73 75 6c 74 29 ........if.(is_resource($result)
23060 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 73 71 6c 5f 66 72 ).{.............return.@mssql_fr
23080 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 7d 0a 20 20 ee_result($result);.........}...
230a0 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 65 5f ......if.(!isset($this->prepare_
230c0 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 20 20 tokens[$result])).{.............
230e0 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 20 20 20 return.false;.........}.........
23100 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 24 72 65 73 unset($this->prepare_tokens[$res
23120 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
23140 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 20 72 65 74 are_types[$result]);.........ret
23160 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 6e 75 urn.true;.....}......function.nu
23180 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 24 63 6f mCols($result).....{.........$co
231a0 6c 73 20 3d 20 40 6d 73 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 72 65 73 75 6c 74 29 3b ls.=.@mssql_num_fields($result);
231c0 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 20 20 20 .........if.(!$cols).{..........
231e0 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 45 72 72 6f 72 ...return.$this->mssqlRaiseError
23200 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 63 6f ();.........}.........return.$co
23220 6c 73 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 ls;.....}......function.numRows(
23240 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 73 20 3d 20 40 $result).....{.........$rows.=.@
23260 6d 73 73 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 mssql_num_rows($result);........
23280 20 69 66 20 28 24 72 6f 77 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 .if.($rows.===.false).{.........
232a0 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 45 72 72 6f ....return.$this->mssqlRaiseErro
232c0 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
232e0 6f 77 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 45 6e 61 62 6c ows;.....}....../**......*.Enabl
23300 65 2f 64 69 73 61 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 20 63 6f 6d 6d 69 74 73 0a 20 20 20 20 e/disable.automatic.commits.....
23320 20 2a 2f 0a 20 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 .*/.....function.autoCommit($ono
23340 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 20 2f 2f 20 58 58 58 ff.=.false).....{.........//.XXX
23360 20 69 66 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 3e .if.$this->transaction_opcount.>
23380 20 30 2c 20 77 65 20 73 68 6f 75 6c 64 20 70 72 6f 62 61 62 6c 79 0a 20 20 20 20 20 20 20 20 2f .0,.we.should.probably........./
233a0 2f 20 69 73 73 75 65 20 61 20 77 61 72 6e 69 6e 67 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 /.issue.a.warning.here..........
233c0 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 20 3d 20 24 6f 6e 6f 66 66 20 3f 20 74 72 75 $this->autocommit.=.$onoff.?.tru
233e0 65 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 42 5f 4f 4b 3b e.:.false;.........return.DB_OK;
23400 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
23420 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 74 68 mmit()....../**......*.Commit.th
23440 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 20 e.current.transaction.......*/..
23460 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 7b 0a 20 20 20 20 20 ...function.commit().....{......
23480 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 75 6e ...if.($this->transaction_opcoun
234a0 74 20 3e 20 30 29 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 t.>.0).{.............$result.=.@
234c0 6d 73 73 71 6c 5f 71 75 65 72 79 28 27 43 4f 4d 4d 49 54 20 54 52 41 4e 27 2c 20 24 74 68 69 73 mssql_query('COMMIT.TRAN',.$this
234e0 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
23500 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;......
23520 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).{..........
23540 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 45 .......return.$this->mssqlRaiseE
23560 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();.............}.........}.
23580 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;.....}.....
235a0 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()...
235c0 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
235e0 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.......*/.
23600 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().....{...
23620 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
23640 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 73 75 6c 74 20 ount.>.0).{.............$result.
23660 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',.
23680 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);.............
236a0 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;.
236c0 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).{.....
236e0 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
23700 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();.............}......
23720 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;.....}
23740 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
23760 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.
23780 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
237a0 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
237c0 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.....
237e0 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
23800 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.
23820 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
23840 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
23860 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)).{
23880 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
238a0 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
238c0 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)
238e0 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-
23900 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();.............
23920 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
23940 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
23960 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;
23980 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.{...........
239a0 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);.
239c0 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]
239e0 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.{
23a00 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;.......
23a20 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;.....
23a40 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()....../**..
23a60 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
23a80 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...
23aa0 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
23ac0 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..
23ae0 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....
23b00 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.
23b20 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......*.....
23b40 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
23b60 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
23b80 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).....
23ba0 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
23bc0 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......*/.....
23be0 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
23c00 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
23c20 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
23c40 71 5f 6e 61 6d 65 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 q_name);.........$repeat.=.0;...
23c60 20 20 20 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 ......do.{.............$this->pu
23c80 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 55 52 shErrorHandling(PEAR_ERROR_RETUR
23ca0 4e 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 N);.............$result.=.$this-
23cc0 3e 71 75 65 72 79 28 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 24 73 65 71 6e 61 6d 65 20 28 76 61 >query("INSERT.INTO.$seqname.(va
23ce0 70 6f 72 29 20 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 24 por).VALUES.(0)");.............$
23d00 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 20 this->popErrorHandling();.......
23d20 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 72 72 ......if.($ondemand.&&.DB::isErr
23d40 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 20 28 or($result).&&.................(
23d60 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 20 7c $result->getCode().==.DB_ERROR.|
23d80 7c 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 |.$result->getCode().==.DB_ERROR
23da0 5f 4e 4f 53 55 43 48 54 41 42 4c 45 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 _NOSUCHTABLE)).............{....
23dc0 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 20 20 20 20 .............$repeat.=.1;.......
23de0 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 72 65 61 74 ..........$result.=.$this->creat
23e00 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 20 20 20 20 eSequence($seq_name);...........
23e20 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)).
23e40 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 72 65 {.....................return.$re
23e60 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 20 20 20 20 sult;.................}.........
23e80 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 24 72 65 ....}.else.{.................$re
23ea0 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 40 40 49 44 sult.=.$this->query("SELECT.@@ID
23ec0 45 4e 54 49 54 59 20 46 52 4f 4d 20 24 73 65 71 6e 61 6d 65 22 29 3b 0a 20 20 20 20 20 20 20 20 ENTITY.FROM.$seqname");.........
23ee0 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 20 20 20 20 20 20 ........$repeat.=.0;............
23f00 20 7d 0a 20 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 .}.........}.while.($repeat);...
23f20 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)).
23f40 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 73 {.............return.$this->rais
23f60 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);.........}......
23f80 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 72 65 73 75 6c 74 2d 3e 66 65 74 63 68 52 6f 77 28 44 ...$result.=.$result->fetchRow(D
23fa0 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 20 20 72 65 B_FETCHMODE_ORDERED);.........re
23fc0 74 75 72 6e 20 24 72 65 73 75 6c 74 5b 30 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 7d turn.$result[0];.....}......//.}
23fe0 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 29 0a 0a }}.....//.{{{.createSequence()..
24000 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 73 65 71 ....function.createSequence($seq
24020 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 6d 65 20 3d 20 _name).....{.........$seqname.=.
24040 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 5f 6e 61 6d 65 $this->getSequenceName($seq_name
24060 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 72 79 28 22 );.........return.$this->query("
24080 43 52 45 41 54 45 20 54 41 42 4c 45 20 24 73 65 71 6e 61 6d 65 20 22 2e 0a 20 20 20 20 20 20 20 CREATE.TABLE.$seqname.".........
240a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 5b 69 64 5d 20 5b 69 6e 74 .....................'([id].[int
240c0 5d 20 49 44 45 4e 54 49 54 59 20 28 31 2c 20 31 29 20 4e 4f 54 20 4e 55 4c 4c 20 2c 27 20 2e 0a ].IDENTITY.(1,.1).NOT.NULL.,'...
240e0 20 20 20 20 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 5b 76 61 ............................'[va
24100 70 6f 72 5d 20 5b 69 6e 74 5d 20 4e 55 4c 4c 29 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f por].[int].NULL)');.....}.....//
24120 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 63 65 28 29 0a 0a .}}}.....//.{{{.dropSequence()..
24140 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 5f 6e ....function.dropSequence($seq_n
24160 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 6d 65 20 3d 20 24 74 ame).....{.........$seqname.=.$t
24180 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 5f 6e 61 6d 65 29 3b his->getSequenceName($seq_name);
241a0 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 22 44 52 .........return.$this->query("DR
241c0 4f 50 20 54 41 42 4c 45 20 24 73 65 71 6e 61 6d 65 22 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f OP.TABLE.$seqname");.....}...../
241e0 2f 20 7d 7d 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 43 6f 64 65 28 29 0a /.}}}......function.errorCode().
24200 20 20 20 20 7b 0a 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 ....{.........$this->pushErrorHa
24220 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 20 20 20 20 20 ndling(PEAR_ERROR_RETURN);......
24240 20 20 20 24 65 72 72 6f 72 5f 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6e 65 28 27 ...$error_code.=.$this->getOne('
24260 73 65 6c 65 63 74 20 40 40 45 52 52 4f 52 20 61 73 20 45 72 72 6f 72 43 6f 64 65 27 29 3b 0a 20 select.@@ERROR.as.ErrorCode');..
24280 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 67 28 29 .......$this->popErrorHandling()
242a0 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 20 44 65 62 75 67 0a 20 20 20 20 20 20 20 20 69 ;.........//.XXX.Debug.........i
242c0 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 63 6f 64 65 5f 6d 61 70 5b 24 f.(!isset($this->errorcode_map[$
242e0 65 72 72 6f 72 5f 63 6f 64 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 error_code])).{.............retu
24300 72 6e 20 44 42 5f 45 52 52 4f 52 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 rn.DB_ERROR;.........}.........r
24320 65 74 75 72 6e 20 24 65 72 72 6f 72 5f 63 6f 64 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 eturn.$error_code;.....}......fu
24340 6e 63 74 69 6f 6e 20 6d 73 73 71 6c 52 61 69 73 65 45 72 72 6f 72 28 24 63 6f 64 65 20 3d 20 6e nction.mssqlRaiseError($code.=.n
24360 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6f 64 65 20 21 3d 3d ull).....{.........if.($code.!==
24380 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 64 65 20 3d 20 24 74 68 .null).{.............$code.=.$th
243a0 69 73 2d 3e 65 72 72 6f 72 43 6f 64 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 is->errorCode();.............if.
243c0 28 44 42 3a 3a 69 73 45 72 72 6f 72 28 24 63 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 (DB::isError($code)).{..........
243e0 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(
24400 24 63 6f 64 65 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 $code);.............}.........}.
24420 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
24440 28 24 63 6f 64 65 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 ($code,.null,.null,.null,.......
24460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 73 71 6c 5f 67 65 74 5f 6c 61 73 74 ..................mssql_get_last
24480 5f 6d 65 73 73 61 67 65 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 2f 2a 2a 0a 0a 20 20 20 20 20 _message());.....}..../**.......
244a0 2a 20 52 65 74 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 *.Returns.information.about.a.ta
244c0 62 6c 65 20 6f 72 20 61 20 72 65 73 75 6c 74 20 73 65 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ble.or.a.result.set......*......
244e0 2a 20 4e 4f 54 45 3a 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 74 61 62 6c 65 20 6e 61 *.NOTE:.doesn't.support.table.na
24500 6d 65 20 61 6e 64 20 66 6c 61 67 73 20 69 66 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 64 62 me.and.flags.if.called.from.a.db
24520 5f 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 20 6d 69 _result......*......*.@param..mi
24540 78 65 64 20 24 72 65 73 6f 75 72 63 65 20 53 51 4c 20 53 65 72 76 65 72 20 72 65 73 75 6c 74 20 xed.$resource.SQL.Server.result.
24560 69 64 65 6e 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 2a 20 identifier.or.table.name......*.
24580 40 70 61 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 @param..int.$mode.A.valid.tableI
245a0 6e 66 6f 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 nfo.mode.(DB_TABLEINFO_ORDERTABL
245c0 45 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 20 20 44 42 E.or......*...................DB
245e0 5f 54 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 _TABLEINFO_ORDER)......*......*.
24600 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.
24620 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 66 75 6e the.information......*/......fun
24640 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 3d ction.tableInfo($result,.$mode.=
24660 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 30 .null).....{..........$count.=.0
24680 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
246a0 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();........../*.....
246c0 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
246e0 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
24700 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
24720 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
24740 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
24760 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][
24780 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..........*.
247a0 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......
247c0 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
247e0 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
24800 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..........*..........*.
24820 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....
24840 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[]:..........*...
24860 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
24880 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
248a0 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]
248c0 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..........*
248e0 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.....
24900 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
24920 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
24940 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"
24960 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
24980 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
249a0 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.
249c0 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......
249e0 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
24a00 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'])).{........
24a20 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_
24a40 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..........*.
24a60 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
24a80 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
24aa0 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
24ac0 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.
24ae0 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"..........*.........
24b00 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.
24b20 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......
24b40 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.
24b60 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.
24b80 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
24ba0 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..........*........
24bc0 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
24be0 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..........*......
24c00 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_
24c20 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.|..........*....
24c40 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
24c60 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..........*
24c80 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
24ca0 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
24cc0 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.
24ce0 61 20 72 65 73 75 6c 74 73 65 74 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 73 74 72 69 a.resultset..........if.(is_stri
24d00 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 69 64 20 3d ng($result)).{.............$id.=
24d20 20 6d 73 73 71 6c 5f 71 75 65 72 79 28 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 24 72 65 73 .mssql_query("SELECT.*.FROM.$res
24d40 75 6c 74 22 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 ult",.$this->connection);.......
24d60 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 20 20 20 ......if.(empty($id)).{.........
24d80 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
24da0 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 20 7d Error();.............}.........}
24dc0 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 66 6f 72 6d 61 74 .else.{.//.else.we.want.informat
24de0 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 20 20 20 20 20 20 ion.about.a.resultset...........
24e00 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 20 20 20 69 66 20 ..$id.=.$result;.............if.
24e20 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 20 20 20 20 20 72 (empty($id)).{.................r
24e40 65 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 29 3b 0a eturn.$this->mssqlRaiseError();.
24e60 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 ............}.........}.........
24e80 20 24 63 6f 75 6e 74 20 3d 20 40 6d 73 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 73 28 24 69 64 29 .$count.=.@mssql_num_fields($id)
24ea0 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 65 20 74 ;..........//.made.this.IF.due.t
24ec0 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 65 72 20 o.performance.(one.if.is.faster.
24ee0 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 28 65 6d than.$count.if's).........if.(em
24f00 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 72 20 28 pty($mode)).{..............for.(
24f20 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 20 20 20 $i=0;.$i<$count;.$i++).{........
24f40 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 28 69 73 .........$res[$i]['table'].=.(is
24f60 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 20 27 27 _string($result)).?.$result.:.''
24f80 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 6d 65 ;.................$res[$i]['name
24fa0 27 5d 20 20 3d 20 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 ']..=.@mssql_field_name($id,.$i)
24fc0 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
24fe0 27 5d 20 20 3d 20 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 ']..=.@mssql_field_type($id,.$i)
25000 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'
25020 5d 20 20 20 3d 20 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 ]...=.@mssql_field_length($id,.$
25040 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 66 6c i);.................$res[$i]['fl
25060 61 67 73 27 5d 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ags'].=.'';.............}.......
25080 20 20 20 7d 20 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 ...}.else.{.//.full.............
250a0 24 72 65 73 5b 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 $res['num_fields']=.$count;.....
250c0 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 74 3b 20 24 .........for.($i=0;.$i<$count;.$
250e0 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 24 69 5d 5b i++).{.................$res[$i][
25100 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)).
25120 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.:.'';.................
25140 24 72 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 $res[$i]['name']..=.@mssql_field
25160 5f 6e 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 _name($id,.$i);.................
25180 24 72 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 $res[$i]['type']..=.@mssql_field
251a0 5f 74 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 _type($id,.$i);.................
251c0 24 72 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 $res[$i]['len']...=.@mssql_field
251e0 5f 6c 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 _length($id,.$i);...............
25200 20 20 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 ..$res[$i]['flags'].=.'';.......
25220 20 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 ..........if.($mode.&.DB_TABLEIN
25240 46 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 FO_ORDER).{.....................
25260 24 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 $res['order'][$res[$i]['name']].
25280 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 20 20 20 20 20 20 20 =.$i;.................}.........
252a0 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 4f ........if.($mode.&.DB_TABLEINFO
252c0 5f 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 _ORDERTABLE).{..................
252e0 20 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 ...$res['ordertable'][$res[$i]['
25300 74 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 table']][$res[$i]['name']].=.$i;
25320 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 7d .................}.............}
25340 0a 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 .........}..........//.free.the.
25360 72 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 result.only.if.we.were.called.on
25380 20 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 .a.table.........if.(is_string($
253a0 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 40 6d 73 73 71 6c 5f 66 72 result)).{.............@mssql_fr
253c0 65 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 ee_result($id);.........}.......
253e0 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 20 2f 2f 20 7b 7b 7b ..return.$res;.....}......//.{{{
25400 20 67 65 74 53 70 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 .getSpecialQuery()....../**.....
25420 2a 20 52 65 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 *.Returns.the.query.needed.to.ge
25440 74 20 73 6f 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 t.some.backend.info.....*.@param
25460 20 73 74 72 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 .string.$type.What.kind.of.info.
25480 79 6f 75 20 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 you.want.to.retrieve.....*.@retu
254a0 72 6e 20 73 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 rn.string.The.SQL.query.string..
254c0 20 20 20 2a 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 ...*/.....function.getSpecialQue
254e0 72 79 28 24 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 ry($type).....{.........switch.(
25500 24 74 79 70 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 $type).{.............case.'table
25520 73 27 3a 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 73 65 6c 65 s':.................$sql.=."sele
25540 63 74 20 6e 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 ct.name.from.sysobjects.where.ty
25560 70 65 20 3d 20 27 55 27 20 6f 72 64 65 72 20 62 79 20 6e 61 6d 65 22 3b 0a 20 20 20 20 20 20 20 pe.=.'U'.order.by.name";........
25580 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 63 61 73 65 .........break;.............case
255a0 20 27 76 69 65 77 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 71 6c 20 3d .'views':.................$sql.=
255c0 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 63 74 73 20 77 68 ."select.name.from.sysobjects.wh
255e0 65 72 65 20 74 79 70 65 20 3d 20 27 56 27 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ere.type.=.'V'";................
25600 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 20 20 20 .break;.............default:....
25620 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 20 20 .............return.null;.......
25640 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 20 20 20 7d 0a 0a ..}.........return.$sql;.....}..
25660 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 00 00 00 00 00 00 ....//.}}}..}.?>................
25680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25800 44 42 2d 31 2e 32 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.2/DB/mysql.php.............
25820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
25880 20 20 36 34 32 33 33 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 32 32 37 20 00 00 00 00 00 ..64233..7466465701...7227......
258a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
258c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
258e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25a00 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.//.//.+-------------------
25a20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25a40 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
25a60 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.........................
25a80 20 20 20 20 20 20 20 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 ...............................|
25aa0 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 .//.+---------------------------
25ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25ae0 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).
25b00 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.........
25b20 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 .......................|.//.+---
25b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25b80 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
25ba0 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
25bc0 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
25be0 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
25c00 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........|.//.
25c20 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
25c40 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
25c60 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
25c80 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...............
25ca0 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
25cc0 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
25ce0 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...|
25d00 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
25d20 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
25d40 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
25d60 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
25d80 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................|.//.+---
25da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25dc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25de0 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
25e00 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>.....................
25e20 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 ...............|.//.+-----------
25e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25e60 2d 2d 2d 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 ---------------------------+.//.
25e80 2f 2f 20 24 49 64 3a 20 6d 79 73 71 6c 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f //.$Id:.mysql.php,v.1.3.2002/05/
25ea0 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
25ec0 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
25ee0 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
25f00 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:.
25f20 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
25f40 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
25f60 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
25f80 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
25fa0 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
25fc0 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
25fe0 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;.....
26000 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
26020 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();.....
26040 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();...
26060 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
26080 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;....
260a0 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
260c0 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
260e0 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.*/....
26100 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;......//.}}}..
26120 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....../**..
26140 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......
26160 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......*/
26180 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().....{.
261a0 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();.....
261c0 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';...
261e0 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';
26200 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
26220 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
26240 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
26260 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'.=>.
26280 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
262a0 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
262c0 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(...........
262e0 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
26300 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
26320 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.=
26340 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,.......
26360 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
26380 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
263a0 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
263c0 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,.....
263e0 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
26400 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_
26420 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
26440 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,....
26460 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
26480 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
264a0 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.
264c0 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,.........
264e0 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
26500 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_
26520 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
26540 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,.....
26560 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 ....);.....}......//.}}}......//
26580 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
265a0 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.
265c0 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.......*...
265e0 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
26600 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
26620 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
26640 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.
26660 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
26680 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......*.
266a0 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.
266c0 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......*/.....
266e0 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
26700 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
26720 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')
26740 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
26760 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
26780 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
267a0 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
267c0 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
267e0 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').{.............$
26800 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'
26820 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.{.............
26840 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'].?
26860 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
26880 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
268a0 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'])).{................
268c0 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
268e0 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 '];.............}.........}.....
26900 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']
26920 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
26940 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
26960 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
26980 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
269a0 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);...
269c0 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
269e0 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
26a00 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)
26a20 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.&&.$
26a40 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
26a60 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);.
26a80 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).{....
26aa0 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
26ac0 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.{..
26ae0 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;.......
26b00 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_
26b20 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
26b40 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
26b60 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()).!=.'').{..........
26b80 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(
26ba0 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
26bc0 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,............................
26be0 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);......
26c00 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
26c20 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.
26c40 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
26c60 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.{
26c80 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
26ca0 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
26cc0 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,..................
26ce0 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
26d00 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);.............}.....
26d20 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
26d40 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
26d60 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'
26d80 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
26da0 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)).{........
26dc0 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:.....
26de0 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.$
26e00 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
26e20 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,.................
26e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26e60 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));.
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 62 72 65 61 ............................brea
26ea0 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.
26ec0 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:...........................
26ee0 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
26f00 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
26f20 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,..............................
26f40 20 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
26f60 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));.............
26f80 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;..........
26fa0 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:.........
26fc0 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
26fe0 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
27000 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,..............................
27020 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
27040 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));..............
27060 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;...........
27080 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 ...........}.............}......
270a0 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.
270c0 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.
270e0 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.=.
27100 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'];.........}.
27120 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
27140 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;.....}.
27160 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
27180 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.
271a0 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....
271c0 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......
271e0 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
27200 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...
27220 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()
27240 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
27260 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
27280 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;.........
272a0 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;.....}......//.}}}..
272c0 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()....../**
272e0 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
27300 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.
27320 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......
27340 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..
27360 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.....
27380 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.
273a0 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
273c0 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
273e0 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...
27400 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
27420 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
27440 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).....{........
27460 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);
27480 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
274a0 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
274c0 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 21 40 ifyQuery($query);.........if.(!@
274e0 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
27500 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
27520 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 5f 45 turn.$this->mysqlRaiseError(DB_E
27540 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);.........}...
27560 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 6d 69 74 20 26 26 20 ......if.(!$this->autocommit.&&.
27580 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 66 20 28 24 74 68 69 $ismanip).{.............if.($thi
275a0 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5f 6f 70 63 6f 75 6e 74 20 3d 3d 20 30 29 20 7b 0a 20 s->transaction_opcount.==.0).{..
275c0 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 40 6d 79 73 71 6c 5f ...............$result.=.@mysql_
275e0 71 75 65 72 79 28 27 53 45 54 20 41 55 54 4f 43 4f 4d 4d 49 54 3d 30 27 2c 20 24 74 68 69 73 2d query('SET.AUTOCOMMIT=0',.$this-
27600 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 20 20 20 20 24 72 >connection);.................$r
27620 65 73 75 6c 74 20 3d 20 40 6d 79 73 71 6c 5f 71 75 65 72 79 28 27 42 45 47 49 4e 27 2c 20 24 74 esult.=.@mysql_query('BEGIN',.$t
27640 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 20 20 his->connection);...............
27660 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).{...............
27680 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
276a0 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 20 20 20 ror();.................}........
276c0 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 6e 73 61 .....}.............$this->transa
276e0 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 20 20 20 ction_opcount++;.........}......
27700 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 24 71 75 65 72 79 ...$result.=.@mysql_query($query
27720 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 69 66 ,.$this->connection);.........if
27740 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 75 72 6e .(!$result).{.............return
27760 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 20 20 20 20 20 .$this->mysqlRaiseError();......
27780 20 20 20 7d 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
277a0 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 75 6d 72 6f 77 73 20 3d 20 sult)).{.............$numrows.=.
277c0 24 74 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 $this->numrows($result);........
277e0 20 20 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 .....if.(is_object($numrows)).{.
27800 20 20 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 ................return.$numrows;
27820 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 74 68 69 73 .............}.............$this
27840 2d 3e 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 ->num_rows[$result].=.$numrows;.
27860 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;.....
27880 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;.....
278a0 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 52 65 73 }......//.}}}.....//.{{{.nextRes
278c0 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 20 74 68 65 20 69 ult()....../**......*.Move.the.i
278e0 6e 74 65 72 6e 61 6c 20 6d 79 73 71 6c 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 nternal.mysql.result.pointer.to.
27900 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 20 20 20 20 20 2a the.next.available.result......*
27920 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 71 6c 20 72 65 73 ......*.@param.a.valid.fbsql.res
27940 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 20 40 61 63 63 65 ult.resource......*......*.@acce
27960 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 20 ss.public......*......*.@return.
27980 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 62 6c 65 20 6f 74 true.if.a.result.is.available.ot
279a0 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 2a 2f 0a 20 20 20 herwise.return.false......*/....
279c0 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 6c 74 29 0a 20 20 .function.nextResult($result)...
279e0 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 20 20 20 20 7d 0a ..{.........return.false;.....}.
27a00 0a 20 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 .....//.}}}.....//.{{{.fetchRow(
27a20 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 6e 64 20 72 65 74 75 )....../**......*.Fetch.and.retu
27a40 72 6e 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 rn.a.row.of.data.(it.uses.fetchI
27a60 6e 74 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 nto.for.that)......*.@param.$res
27a80 75 6c 74 20 4d 79 53 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 ult.MySQL.result.identifier.....
27aa0 20 2a 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 .*.@param...$fetchmode..format.o
27ac0 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
27ae0 6d 20 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 m...$rownum.....the.absolute.row
27b00 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 2a 20 40 .number.to.fetch......*......*.@
27b20 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 2c 20 6f return..array...a.row.of.data,.o
27b40 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 66 75 6e r.false.on.error......*/.....fun
27b60 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 68 6d 6f ction.fetchRow($result,.$fetchmo
27b80 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 77 6e de.=.DB_FETCHMODE_DEFAULT,.$rown
27ba0 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 74 63 um=null).....{.........if.($fetc
27bc0 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 29 20 7b hmode.==.DB_FETCHMODE_DEFAULT).{
27be0 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 69 73 2d .............$fetchmode.=.$this-
27c00 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 20 24 72 >fetchmode;.........}.........$r
27c20 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 74 2c 20 es.=.$this->fetchInto.($result,.
27c40 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 20 20 20 $arr,.$fetchmode,.$rownum);.....
27c60 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 20 20 20 ....if.($res.!==.DB_OK).{.......
27c80 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 20 20 20 ......return.$res;.........}....
27ca0 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 2f 2f 20 .....return.$arr;.....}......//.
27cc0 7d 7d 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 }}}.....//.{{{.fetchInto()......
27ce0 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 69 6e 73 65 72 /**......*.Fetch.a.row.and.inser
27d00 74 20 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 t.the.data.into.an.existing.arra
27d20 79 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 y.......*......*.@param.$result.
27d40 4d 79 53 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 20 40 MySQL.result.identifier......*.@
27d60 70 61 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 param.$arr.(reference).array.whe
27d80 72 65 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 re.data.from.the.row.is.stored..
27da0 20 20 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 ....*.@param.$fetchmode.how.the.
27dc0 61 72 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 array.data.should.be.indexed....
27de0 20 20 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 ..*.@param...$rownum.the.row.num
27e00 62 65 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 ber.to.fetch......*.@access.publ
27e20 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 44 42 5f ic......*......*.@return.int.DB_
27e40 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 6f 6e 20 66 61 69 OK.on.success,.a.DB.error.on.fai
27e60 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 66 65 74 63 68 49 lure......*/.....function.fetchI
27e80 6e 74 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 nto($result,.&$arr,.$fetchmode,.
27ea0 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 69 66 20 28 $rownum=null).....{.........if.(
27ec0 24 72 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 $rownum.!==.null).{.............
27ee0 69 66 20 28 21 40 6d 79 73 71 6c 5f 64 61 74 61 5f 73 65 65 6b 28 24 72 65 73 75 6c 74 2c 20 24 if.(!@mysql_data_seek($result,.$
27f00 72 6f 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 rownum)).{.................retur
27f20 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 0a n.null;.............}.........}.
27f40 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 46 45 54 43 ........if.($fetchmode.&.DB_FETC
27f60 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 61 72 72 20 HMODE_ASSOC).{.............$arr.
27f80 3d 20 40 6d 79 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 4d 59 =.@mysql_fetch_array($result,.MY
27fa0 53 51 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 SQL_ASSOC);.........}.else.{....
27fc0 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 72 6f 77 .........$arr.=.@mysql_fetch_row
27fe0 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 69 66 20 ($result);.........}.........if.
28000 28 21 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 (!$arr).{.............$errno.=.@
28020 6d 79 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 mysql_errno($this->connection);.
28040 20 20 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 ............if.(!$errno).{......
28060 20 20 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 ...........return.NULL;.........
28080 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 24 74 68 69 73 2d 3e ....}.............return.$this->
280a0 6d 79 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 mysqlRaiseError($errno);........
280c0 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 0a 0a .}.........return.DB_OK;.....}..
280e0 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 65 52 65 73 75 6c 74 ....//.}}}.....//.{{{.freeResult
28100 28 29 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 ()....../**......*.Free.the.inte
28120 72 6e 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 rnal.resources.associated.with.$
28140 72 65 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 result.......*......*.@param.$re
28160 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 69 65 72 20 6f 72 20 sult.MySQL.result.identifier.or.
28180 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 20 2a 0a 20 DB.statement.identifier......*..
281a0 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......*.....
281c0 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 63 63 65 73 73 2c .*.@return.bool.TRUE.on.success,
281e0 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 6c 69 64 0a 20 20 20 .FALSE.if.$result.is.invalid....
28200 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 75 6c 74 28 24 72 65 ..*/.....function.freeResult($re
28220 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 65 73 6f 75 sult).....{.........if.(is_resou
28240 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 72 65 74 75 rce($result)).{.............retu
28260 72 6e 20 6d 79 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 rn.mysql_free_result($result);..
28280 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 28 69 6e 74 .......}..........$result.=.(int
282a0 29 24 72 65 73 75 6c 74 3b 20 2f 2f 20 24 72 65 73 75 6c 74 20 69 73 20 61 20 70 72 65 70 61 72 )$result;.//.$result.is.a.prepar
282c0 65 64 20 71 75 65 72 79 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 ed.query.handle.........if.(!iss
282e0 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 24 72 65 73 75 6c 74 et($this->prepare_tokens[$result
28300 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 3b 0a ])).{.............return.false;.
28320 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 5b 73 73 62 5d 3a 20 57 54 46 ........}..........//.[ssb]:.WTF
28340 3f 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 24 72 65 ?.unset($this->prepare_types[$re
28360 73 75 6c 74 5d 29 20 6d 61 6b 65 73 20 50 48 50 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 72 61 73 sult]).makes.PHP.........//.cras
28380 68 20 6f 6e 20 6d 79 20 6c 61 70 74 6f 70 20 28 34 2e 31 2e 32 20 61 73 20 77 65 6c 6c 20 61 73 h.on.my.laptop.(4.1.2.as.well.as
283a0 20 34 2e 33 2e 30 2d 64 65 76 29 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 70 79 20 3d 20 24 74 68 .4.3.0-dev)..........$copy.=.$th
283c0 69 73 2d 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 is->prepare_types;.........unset
283e0 28 24 63 6f 70 79 5b 24 72 65 73 75 6c 74 5d 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ($copy[$result]);.........$this-
28400 3e 70 72 65 70 61 72 65 5f 74 79 70 65 73 20 3d 20 24 63 6f 70 79 3b 0a 2f 2f 20 20 20 20 20 20 >prepare_types.=.$copy;.//......
28420 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 24 72 65 ..unset($this->prepare_types[$re
28440 73 75 6c 74 5d 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 70 79 20 3d 20 24 74 68 69 73 2d 3e sult]);..........$copy.=.$this->
28460 70 72 65 70 61 72 65 5f 74 6f 6b 65 6e 73 3b 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 63 prepare_tokens;.........unset($c
28480 6f 70 79 5b 24 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 70 72 opy[$result]);.........$this->pr
284a0 65 70 61 72 65 5f 74 6f 6b 65 6e 73 20 3d 20 24 63 6f 70 79 3b 0a 2f 2f 20 20 20 20 20 20 20 20 epare_tokens.=.$copy;.//........
284c0 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 24 72 65 73 unset($this->prepare_tokens[$res
284e0 75 6c 74 5d 29 3b 0a 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 ult]);..........return.true;....
28500 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 6d 43 6f 6c .}......//.}}}.....//.{{{.numCol
28520 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 6e 75 6d 62 s()....../**......*.Get.the.numb
28540 65 72 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 er.of.columns.in.a.result.set...
28560 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 51 ....*......*.@param.$result.MySQ
28580 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......*......
285a0 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 40 *.@access.public......*......*.@
285c0 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 6d 6e 73 return.int.the.number.of.columns
285e0 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 20 20 20 .per.row.in.$result......*/.....
28600 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 20 7b 0a function.numCols($result).....{.
28620 20 20 20 20 20 20 20 20 24 63 6f 6c 73 20 3d 20 40 6d 79 73 71 6c 5f 6e 75 6d 5f 66 69 65 6c 64 ........$cols.=.@mysql_num_field
28640 73 28 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 s($result);..........if.(!$cols)
28660 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 6d 79 73 .{.............return.$this->mys
28680 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 0a 20 20 20 20 20 qlRaiseError();.........}.......
286a0 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 2f 2f 20 7d ...return.$cols;.....}......//.}
286c0 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 2a 2a }}.....//.{{{.numRows()....../**
286e0 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 72 6f 77 73 20 69 ......*.Get.the.number.of.rows.i
28700 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 70 n.a.result.set.......*......*.@p
28720 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 6e 74 69 aram.$result.MySQL.result.identi
28740 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 62 6c 69 fier......*......*.@access.publi
28760 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 74 68 65 20 c......*......*.@return.int.the.
28780 6e 75 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 number.of.rows.in.$result......*
287a0 2f 0a 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 /.....function.numRows($result).
287c0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 6f 77 73 20 3d 20 40 6d 79 73 71 6c 5f 6e 75 6d ....{.........$rows.=.@mysql_num
287e0 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 20 28 24 72 6f 77 _rows($result);.........if.($row
28800 73 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 72 65 74 75 72 6e s.===.null).{.............return
28820 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 20 20 20 20 20 .$this->mysqlRaiseError();......
28840 20 20 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 ...}.........return.$rows;.....}
28860 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 6f 43 6f 6d 6d ......//.}}}.....//.{{{.autoComm
28880 69 74 28 29 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 it()....../**......*.Enable/disa
288a0 62 6c 65 20 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 ble.automatic.commits......*/...
288c0 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 20 3d 20 66 ..function.autoCommit($onoff.=.f
288e0 61 6c 73 65 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 alse).....{.........//.XXX.if.$t
28900 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 3e 20 30 2c 20 77 65 his->transaction_opcount.>.0,.we
28920 20 73 68 6f 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 .should.probably.........//.issu
28940 65 20 61 20 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 e.a.warning.here..........$this-
28960 3e 61 75 74 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 >autocommit.=.$onoff.?.true.:.fa
28980 6c 73 65 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 lse;.........return.DB_OK;.....}
289a0 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 69 74 28 29 ......//.}}}.....//.{{{.commit()
289c0 0a 0a 20 20 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 ....../**......*.Commit.the.curr
289e0 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 20 20 20 20 66 75 6e ent.transaction.......*/.....fun
28a00 63 74 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 69 66 20 ction.commit().....{.........if.
28a20 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 3e 20 30 29 ($this->transaction_opcount.>.0)
28a40 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 73 65 6c 65 63 .{.............if.(!@mysql_selec
28a60 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
28a80 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
28aa0 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 52 5f 4e 4f his->mysqlRaiseError(DB_ERROR_NO
28ac0 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);.............}......
28ae0 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 43 .......$result.=.@mysql_query('C
28b00 4f 4d 4d 49 54 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 OMMIT',.$this->connection);.....
28b20 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('
28b40 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 6e 65 63 SET.AUTOCOMMIT=1',.$this->connec
28b60 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 6e 73 61 tion);.............$this->transa
28b80 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 20 20 69 ction_opcount.=.0;.............i
28ba0 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 20 20 72 f.(!$result).{.................r
28bc0 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();.
28be0 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 ............}.........}.........
28c00 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 7d 0a return.DB_OK;.....}......//.}}}.
28c20 20 20 20 20 2f 2f 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 ....//.{{{.rollback()....../**..
28c40 20 20 20 20 2a 20 52 6f 6c 6c 20 62 61 63 6b 20 28 75 6e 64 6f 29 20 74 68 65 20 63 75 72 72 65 ....*.Roll.back.(undo).the.curre
28c60 6e 74 20 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 nt.transaction.......*/.....func
28c80 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 tion.rollback().....{.........if
28ca0 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 3e 20 30 .($this->transaction_opcount.>.0
28cc0 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 73 65 6c 65 ).{.............if.(!@mysql_sele
28ce0 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 74 ct_db($this->_db,.$this->connect
28d00 69 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 ion)).{.................return.$
28d20 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 52 5f 4e this->mysqlRaiseError(DB_ERROR_N
28d40 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 20 7d 0a 20 20 20 20 ODBSELECTED);.............}.....
28d60 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('
28d80 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);..
28da0 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
28dc0 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
28de0 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
28e00 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;...........
28e20 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).{...............
28e40 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(
28e60 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 );.............}.........}......
28e80 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;.....}......//.}
28ea0 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()....
28ec0 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.
28ee0 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
28f00 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.
28f20 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
28f40 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
28f60 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
28f80 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
28fa0 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
28fc0 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)).{......
28fe0 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
29000 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);.......
29020 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.=
29040 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
29060 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;......}......//.}}}.....//.
29080 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()....../**......
290a0 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
290c0 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.....
290e0 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
29100 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
29120 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
29140 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......*/....
29160 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().....{..
29180 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-
291a0 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);.....}......//.}}}.
291c0 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()....../**....
291e0 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
29200 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.....
29220 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
29240 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....
29260 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......
29280 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
292a0 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......*
292c0 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
292e0 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
29300 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.
29320 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
29340 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
29360 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(
29380 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)....
293a0 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
293c0 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);........
293e0 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;..
29400 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
29420 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);.........
29440 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
29460 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}.".................
29480 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
294a0 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)');.............
294c0 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();......
294e0 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).{..
29500 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.*
29520 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
29540 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);....
29560 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).{....
29580 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;....
295a0 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 .............}................./
295c0 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.**/..........
295e0 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
29600 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.
29620 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.................
29640 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.....
29660 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
29680 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}
296a0 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
296c0 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)).{.......
296e0 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
29700 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);................
29720 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.=
29740 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
29760 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.
29780 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.....
297a0 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
297c0 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
297e0 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);.................}...........
29800 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.
29820 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-
29840 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}.
29860 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
29880 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)).{.......
298a0 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
298c0 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);................
298e0 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
29900 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.
29920 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_
29940 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')");......
29960 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
29980 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
299a0 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);...
299c0 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 ..............}.................
299e0 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.
29a00 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.....
29a20 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;...........
29a40 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.*
29a60 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
29a80 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).&&...
29aa0 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()
29ac0 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).......
29ae0 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.
29b00 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
29b20 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
29b40 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
29b60 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
29b80 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
29ba0 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)...........
29bc0 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)).
29be0 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
29c00 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);........
29c20 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.{...............
29c40 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
29c60 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..............
29c80 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;................
29ca0 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
29cc0 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
29ce0 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).&&..........
29d00 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().
29d20 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).....
29d40 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
29d60 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..........
29d80 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
29da0 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
29dc0 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)).{......
29de0 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
29e00 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);...............
29e20 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;
29e40 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.(
29e60 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-
29e80 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);.....}.....
29ea0 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
29ec0 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
29ee0 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
29f00 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
29f20 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
29f40 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}."..
29f60 20 20 20 20 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
29f80 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
29fa0 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,'.....................
29fc0 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))');..
29fe0 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)).{.
2a000 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;........
2a020 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
2a040 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
2a060 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(
2a080 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
2a0a0 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 )");.....}......//.}}}.....//.{{
2a0c0 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
2a0e0 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).....{....
2a100 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
2a120 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
2a140 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
2a160 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}");.....}......//.}}}......
2a180 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
2a1a0 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
2a1c0 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.
2a1e0 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
2a200 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
2a220 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
2a240 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
2a260 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).....{........./
2a280 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
2a2a0 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....
2a2c0 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
2a2e0 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
2a300 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
2a320 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
2a340 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
2a360 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
2a380 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.(
2a3a0 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)).{.........
2a3c0 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;.........}...
2a3e0 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).{.......
2a400 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,
2a420 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..
2a440 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
2a460 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
2a480 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
2a4a0 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);.........}........
2a4c0 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
2a4e0 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}");
2a500 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
2a520 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
2a540 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
2a560 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
2a580 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.
2a5a0 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
2a5c0 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
2a5e0 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
2a600 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
2a620 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}
2a640 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");.....
2a660 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)).{.
2a680 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;.....
2a6a0 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
2a6c0 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
2a6e0 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
2a700 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
2a720 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.....
2a740 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
2a760 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
2a780 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($
2a7a0 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
2a7c0 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.
2a7e0 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().
2a800 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
2a820 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
2a840 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.
2a860 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
2a880 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
2a8a0 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.
2a8c0 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.....*/..
2a8e0 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)..
2a900 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(
2a920 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
2a940 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
2a960 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
2a980 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
2a9a0 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':...
2a9c0 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:..............
2a9e0 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
2aa00 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)."'";.........}.....}....
2aa20 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()
2aa40 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
2aa60 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).....{.......
2aa80 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']
2aaa0 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').{............
2aac0 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.
2aae0 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..........
2ab00 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
2ab20 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
2ab40 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('/^
2ab60 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',
2ab80 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
2aba0 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
2abc0 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*$/',............
2abe0 20 20 20 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
2ac00 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);.
2ac20 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 ............}.........}.........
2ac40 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;.....}......//.}}}
2ac60 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()..
2ac80 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
2aca0 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).....{......
2acc0 20 20 20 24 71 75 65 72 79 20 3d 20 24 71 75 65 72 79 20 2e 20 22 20 4c 49 4d 49 54 20 24 66 72 ...$query.=.$query...".LIMIT.$fr
2ace0 6f 6d 2c 20 24 63 6f 75 6e 74 22 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 71 75 65 om,.$count";.........return.$que
2ad00 72 79 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 ry;.....}......//.}}}.....//.{{{
2ad20 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 75 6e 63 74 69 6f 6e .mysqlRaiseError()......function
2ad40 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 20 6e 75 6c 6c 29 0a .mysqlRaiseError($errno.=.null).
2ad60 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 3d 3d 3d 20 6e 75 6c ....{.........if.($errno.===.nul
2ad80 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 20 24 74 68 69 73 2d l).{.............$errno.=.$this-
2ada0 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 68 69 73 2d 3e 63 6f >errorCode(mysql_errno($this->co
2adc0 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 20 20 20 20 20 72 65 nnection));.........}.........re
2ade0 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 6e 6f 2c 20 6e turn.$this->raiseError($errno,.n
2ae00 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 20 20 20 20 20 20 20 ull,.null,.null,................
2ae20 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 65 72 72 6e 6f 28 24 ..................@mysql_errno($
2ae40 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 22 20 2e 0a 20 20 20 this->connection)...".**."......
2ae60 20 20 20 20 20 20 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 ..............................@m
2ae80 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 69 6f 6e 29 29 3b 0a ysql_error($this->connection));.
2aea0 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 74 61 62 ....}......//.}}}.....//.{{{.tab
2aec0 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 62 6c 65 49 6e 66 6f leInfo()......function.tableInfo
2aee0 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 0a 20 20 20 20 20 20 ($result,.$mode.=.null).{.......
2af00 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
2af20 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();.....
2af40 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.
2af60 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
2af80 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:..........*........
2afa0 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):..
2afc0 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[]:..........*.
2afe0 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......
2b000 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
2b020 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
2b040 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"]..
2b060 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][
2b080 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..........*
2b0a0 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
2b0c0 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[]:..
2b0e0 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
2b100 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..........*
2b120 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.....
2b140 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
2b160 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
2b180 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"].
2b1a0 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]
2b1c0 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..........
2b1e0 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
2b200 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"....
2b220 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,.
2b240 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
2b260 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.(
2b280 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']
2b2a0 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 )).{..............*..........*.-
2b2c0 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
2b2e0 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
2b300 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..........*...
2b320 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
2b340 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..........*
2b360 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"........
2b380 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
2b3a0 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
2b3c0 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
2b3e0 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
2b400 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
2b420 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.......
2b440 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
2b460 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.....
2b480 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
2b4a0 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.|...
2b4c0 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
2b4e0 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
2b500 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
2b520 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
2b540 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
2b560 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 20 20 20 20 20 20 20 ble.without.a.resultset.........
2b580 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)).{.......
2b5a0 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 69 65 6c 64 73 28 24 ......$id.=.@mysql_list_fields($
2b5c0 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 20 20 20 20 20 20 20 this->dsn['database'],..........
2b5e0 20 20 20 20 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 72 65 73 ............................$res
2b600 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 20 20 20 20 20 20 20 ult,.$this->connection);........
2b620 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 20 20 20 20 .....if.(empty($id)).{..........
2b640 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
2b660 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 20 rror();.............}.........}.
2b680 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 66 6f 72 6d 61 74 69 else.{.//.else.we.want.informati
2b6a0 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 20 20 20 20 20 20 20 on.about.a.resultset............
2b6c0 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 20 20 20 69 66 20 28 .$id.=.$result;.............if.(
2b6e0 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 20 20 20 20 20 72 65 empty($id)).{.................re
2b700 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 20 turn.$this->mysqlRaiseError();..
2b720 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 ...........}.........}..........
2b740 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 73 28 24 69 64 29 3b $count.=.@mysql_num_fields($id);
2b760 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 65 20 74 6f ..........//.made.this.IF.due.to
2b780 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 65 72 20 74 .performance.(one.if.is.faster.t
2b7a0 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 28 65 6d 70 han.$count.if's).........if.(emp
2b7c0 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 66 6f 72 20 28 24 69 ty($mode)).{.............for.($i
2b7e0 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 20 20 20 20 20 =0;.$i<$count;.$i++).{..........
2b800 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 40 6d 79 73 71 .......$res[$i]['table'].=.@mysq
2b820 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 20 20 20 20 20 20 20 l_field_table.($id,.$i);........
2b840 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 6d 79 .........$res[$i]['name']..=.@my
2b860 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 3b 0a 20 20 20 20 20 sql_field_name..($id,.$i);......
2b880 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 40 ...........$res[$i]['type']..=.@
2b8a0 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 69 29 3b 0a 20 20 20 mysql_field_type..($id,.$i);....
2b8c0 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 20 3d .............$res[$i]['len']...=
2b8e0 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 20 24 69 29 3b 0a 20 .@mysql_field_len...($id,.$i);..
2b900 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']
2b920 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 64 2c 20 24 69 29 3b .=.@mysql_field_flags.($id,.$i);
2b940 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 20 .............}.........}.else.{.
2b960 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 27 6e 75 6d 5f 66 69 //.full.............$res['num_fi
2b980 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 20 20 20 20 66 6f 72 elds']=.$count;..............for
2b9a0 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 20 .($i=0;.$i<$count;.$i++).{......
2b9c0 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 40 ...........$res[$i]['table'].=.@
2b9e0 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 20 20 20 mysql_field_table.($id,.$i);....
2ba00 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 20 3d .............$res[$i]['name']..=
2ba20 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 3b 0a 20 .@mysql_field_name..($id,.$i);..
2ba40 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 20 ...............$res[$i]['type'].
2ba60 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 69 29 3b .=.@mysql_field_type..($id,.$i);
2ba80 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 5d .................$res[$i]['len']
2baa0 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 20 24 69 ...=.@mysql_field_len...($id,.$i
2bac0 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 66 6c 61 );.................$res[$i]['fla
2bae0 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 64 2c 20 gs'].=.@mysql_field_flags.($id,.
2bb00 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 24 6d 6f 64 65 20 26 $i);.................if.($mode.&
2bb20 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).{..........
2bb40 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 69 ...........$res['order'][$res[$i
2bb60 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 20 ]['name']].=.$i;................
2bb80 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 44 .}.................if.($mode.&.D
2bba0 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 20 B_TABLEINFO_ORDERTABLE).{.......
2bbc0 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 5d ..............$res['ordertable']
2bbe0 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 61 [$res[$i]['table']][$res[$i]['na
2bc00 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 20 me']].=.$i;.................}...
2bc20 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 2f ..........}.........}........../
2bc40 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 72 /.free.the.result.only.if.we.wer
2bc60 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 28 e.called.on.a.table.........if.(
2bc80 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 20 is_string($result)).{...........
2bca0 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 3b 0a 20 20 20 20 20 ..@mysql_free_result($id);......
2bcc0 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 0a ...}.........return.$res;.....}.
2bce0 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 54 61 62 6c 65 73 .....//.}}}.....//.{{{.getTables
2bd00 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
2bd20 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
2bd40 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
2bd60 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
2bd80 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
2bda0 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
2bdc0 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)..
2bde0 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).{...
2be00 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':........
2be20 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 4c 45 53 22 3b 0a 20 .........$sql.=."SHOW.TABLES";..
2be40 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;...........
2be60 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 20 20 20 20 20 20 ..case.'views':.................
2be80 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 4c 45 3b 0a 20 20 20 return.DB_ERROR_NOT_CAPABLE;....
2bea0 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 20 20 20 20 20 20 20 .........case.'users':..........
2bec0 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 74 69 6e 63 74 20 55 .......$sql.=."select.distinct.U
2bee0 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 20 20 20 20 20 20 20 ser.from.user";.................
2bf00 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 20 21 3d 20 27 6d 79 if($this->dsn['database'].!=.'my
2bf20 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 20 20 20 24 64 73 6e sql').{.....................$dsn
2bf40 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 20 20 20 20 20 20 20 .=.$this->dsn;..................
2bf60 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 73 71 6c 27 3b 0a 20 ...$dsn['database'].=.'mysql';..
2bf80 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 3a 3a 69 73 45 72 72 ...................if.(DB::isErr
2bfa0 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 29 29 29 20 7b 0a 20 or($db.=.DB::connect($dsn))).{..
2bfc0 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 64 .......................return.$d
2bfe0 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 20 20 20 20 20 20 20 b;.....................}........
2c000 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 67 65 74 43 6f 6c 28 .............$sql.=.$db->getCol(
2c020 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 20 20 24 64 62 2d 3e $sql);.....................$db->
2c040 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 20 20 20 20 20 20 20 disconnect();...................
2c060 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 64 72 69 76 65 72 20 ..//.XXX.Fixme.the.mysql.driver.
2c080 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 20 20 20 20 20 20 20 should.take.care.of.this........
2c0a0 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 73 65 6c 65 63 74 5f .............if.(!@mysql_select_
2c0c0 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 2c 20 24 74 68 69 73 db($this->dsn['database'],.$this
2c0e0 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 20 ->connection)).{................
2c100 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 73 .........return.$this->mysqlRais
2c120 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 29 3b 0a 20 eError(DB_ERROR_NODBSELECTED);..
2c140 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 20 ...................}............
2c160 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 74 75 72 6e 20 24 73 .....}.................return.$s
2c180 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 3b 0a 20 20 20 20 20 ql;.................break;......
2c1a0 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 20 20 20 20 20 20 20 .......case.'databases':........
2c1c0 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 41 42 41 53 45 53 22 .........$sql.=."SHOW.DATABASES"
2c1e0 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 20 ;.................break;........
2c200 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
2c220 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
2c240 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 20 20 20 urn.$sql;.....}......//.}}}.....
2c260 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 20 6c 6f 6e 67 52 65 .//.TODO/wishlist:.....//.longRe
2c280 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 3e 0a 00 00 00 00 00 adlen.....//.binmode.}..?>......
2c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c400 44 42 2d 31 2e 32 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.2/DB/oci8.php..............
2c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
2c480 20 20 36 30 37 30 30 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 37 31 37 20 00 00 00 00 00 ..60700..7466465701...6717......
2c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c600 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.//.//.+-------------------
2c620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c640 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
2c660 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.........................
2c680 20 20 20 20 20 20 20 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 ...............................|
2c6a0 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 .//.+---------------------------
2c6c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c6e0 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).
2c700 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.........
2c720 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 .......................|.//.+---
2c740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c780 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
2c7a0 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
2c7c0 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
2c7e0 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
2c800 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........|.//.
2c820 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
2c840 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
2c860 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
2c880 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...............
2c8a0 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
2c8c0 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
2c8e0 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...|
2c900 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
2c920 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
2c940 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
2c960 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
2c980 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................|.//.+---
2c9a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c9c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2c9e0 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.
2ca00 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>...............
2ca20 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 ...............|.//.+-----------
2ca40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2ca60 2d 2d 2d 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 ---------------------------+.//.
2ca80 2f 2f 20 24 49 64 3a 20 6f 63 69 38 2e 70 68 70 2c 76 20 31 2e 33 20 32 30 30 32 2f 30 35 2f 30 //.$Id:.oci8.php,v.1.3.2002/05/0
2caa0 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
2cac0 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.
2cae0 64 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 definition.for.PHP's.Oracle.8.//
2cb00 20 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 .call-interface.extension..//../
2cb20 2f 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 /.//.be.aware.....OCIError().onl
2cb40 79 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 y.appears.to.return.anything.whe
2cb60 6e 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 n.given.a.//.statement,.so.funct
2cb80 69 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 ions.return.the.generic.DB_ERROR
2cba0 20 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 .instead.of.more.//.useful.error
2cbc0 73 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 s.that.have.to.do.with.feedback.
2cbe0 66 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 from.the.database..//...require_
2cc00 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 20 44 42 5f once.'DB/common.php';..class.DB_
2cc20 6f 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 oci8.extends.DB_common.{.....//.
2cc40 7b 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 {{{.properties......var.$connect
2cc60 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 78 ion;.....var.$phptype,.$dbsyntax
2cc80 3b 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 ;.....var.$manip_query.=.array()
2cca0 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 72 72 61 79 ;.....var.$prepare_types.=.array
2ccc0 28 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 ();.....var.$autoCommit.=.1;....
2cce0 20 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 .var.$last_stmt.=.false;......//
2cd00 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 20 20 20 .}}}.....//.{{{.constructor.....
2cd20 20 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 .function.DB_oci8().....{.......
2cd40 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 20 20 24 74 ..$this->DB_common();.........$t
2cd60 68 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 his->phptype.=.'oci8';.........$
2cd80 74 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 this->dbsyntax.=.'oci8';........
2cda0 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 20 20 20 20 20 20 .$this->features.=.array(.......
2cdc0 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 20 20 20 20 20 20 ......'prepare'.=>.false,.......
2cde0 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 20 20 20 20 20 ......'pconnect'.=>.true,.......
2ce00 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 65 2c 0a 20 20 ......'transactions'.=>.true,...
2ce20 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 72 27 0a 20 20 20 ..........'limit'.=>.'alter'....
2ce40 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 6f 72 63 6f 64 65 .....);.........$this->errorcode
2ce60 5f 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 _map.=.array(.............900.=>
2ce80 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 20 20 20 20 20 39 30 .DB_ERROR_SYNTAX,.............90
2cea0 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 20 20 4.=>.DB_ERROR_NOSUCHFIELD,......
2cec0 20 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 .......923.=>.DB_ERROR_SYNTAX,..
2cee0 20 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 ...........942.=>.DB_ERROR_NOSUC
2cf00 48 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 HTABLE,.............955.=>.DB_ER
2cf20 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,.............
2cf40 31 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 1476.=>.DB_ERROR_DIVZERO,.......
2cf60 20 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 ......1722.=>.DB_ERROR_INVALID_N
2cf80 55 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 UMBER,.............2289.=>.DB_ER
2cfa0 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 32 32 39 ROR_NOSUCHTABLE,.............229
2cfc0 31 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 1.=>.DB_ERROR_CONSTRAINT,.......
2cfe0 20 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 ......2449.=>.DB_ERROR_CONSTRAIN
2d000 54 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 T,.........);.....}......//.}}}.
2d020 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 0a 20 20 ....//.{{{.connect()....../**...
2d040 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 64 20 6c ...*.Connect.to.a.database.and.l
2d060 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 20 20 20 og.in.as.the.specified.user.....
2d080 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 74 61 20 ..*......*.@param.$dsn.the.data.
2d0a0 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 20 66 6f source.name.(see.DB::parseDSN.fo
2d0c0 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 69 73 74 r.syntax)......*.@param.$persist
2d0e0 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 6e 6e 65 ent.(optional).whether.the.conne
2d100 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 20 70 65 ction.should......*........be.pe
2d120 72 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 rsistent......*......*.@return.i
2d140 6e 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 nt.DB_OK.on.success,.a.DB.error.
2d160 63 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 code.on.failure......*/.....func
2d180 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 73 69 73 74 65 tion.connect($dsninfo,.$persiste
2d1a0 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 66 20 28 21 44 nt.=.false).....{.........if.(!D
2d1c0 42 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 B::assertExtension('oci8')).{...
2d1e0 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
2d200 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 55 4e 44 29 or(DB_ERROR_EXTENSION_NOT_FOUND)
2d220 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 64 73 6e 20 3d ;.........}.........$this->dsn.=
2d240 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 24 64 73 6e 69 .$dsninfo;.........$user.=.$dsni
2d260 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 3d 20 24 nfo['username'];.........$pw.=.$
2d280 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 24 68 6f dsninfo['password'];.........$ho
2d2a0 73 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 stspec.=.$dsninfo['hostspec'];..
2d2c0 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 20 3d 20 24 70 65 72 ........$connect_function.=.$per
2d2e0 73 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 sistent.?.'OCIPLogon'.:.'OCILogo
2d300 6e 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 n';..........if.($hostspec).{...
2d320 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 63 ..........$conn.=.@$connect_func
2d340 74 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 tion($user,$pw,$hostspec);......
2d360 20 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 ...}.elseif.($user.||.$pw).{....
2d380 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
2d3a0 69 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 ion($user,$pw);.........}.else.{
2d3c0 0a 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 .............$conn.=.false;.....
2d3e0 20 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 ....}.........if.($conn.==.false
2d400 29 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 ).{.............$error.=.OCIErro
2d420 72 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 r();.............$error.=.(is_ar
2d440 72 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 ray($error)).?.$error['message']
2d460 20 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 .:.null;.............return.$thi
2d480 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 43 54 5f 46 s->raiseError(DB_ERROR_CONNECT_F
2d4a0 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 20 20 20 20 20 20 20 AILED,.null,.null,..............
2d4c0 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 65 ........................null,.$e
2d4e0 72 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 rror);.........}.........$this->
2d500 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
2d520 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 20 rn.DB_OK;.....}......//.}}}.....
2d540 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 2f 2a 2a 0a 20 20 20 //.{{{.disconnect()....../**....
2d560 20 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 ..*.Log.out.and.disconnect.from.
2d580 74 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 the.database.......*......*.@ret
2d5a0 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 20 urn.bool.TRUE.on.success,.FALSE.
2d5c0 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 20 20 20 66 75 if.not.connected.......*/.....fu
2d5e0 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 20 20 20 20 20 nction.disconnect().....{.......
2d600 20 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 ..$ret.=.@OCILogOff($this->conne
2d620 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 6e 65 63 74 69 6f ction);.........$this->connectio
2d640 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 72 65 74 3b 0a 20 n.=.null;.........return.$ret;..
2d660 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 69 6d 70 ...}......//.}}}.....//.{{{.simp
2d680 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 53 65 6e 64 20 61 leQuery()....../**......*.Send.a
2d6a0 20 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 .query.to.oracle.and.return.the.
2d6c0 72 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 results.as.an.oci8.resource.....
2d6e0 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 2a 20 40 70 61 .*.identifier.......*......*.@pa
2d700 72 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 ram.$query.the.SQL.query......*.
2d720 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 20 76 61 6c .....*.@return.int.returns.a.val
2d740 69 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 id.oci8.result.for.successful.SE
2d760 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 20 66 6f 72 20 6f LECT......*.queries,.DB_OK.for.o
2d780 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 41 20 44 42 20 65 ther.successful.queries...A.DB.e
2d7a0 72 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 rror.code......*.is.returned.on.
2d7c0 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 69 failure.......*/.....function.si
2d7e0 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 20 mpleQuery($query).....{.........
2d800 24 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 $this->last_query.=.$query;.....
2d820 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 79 28 ....$query.=.$this->modifyQuery(
2d840 24 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 $query);.........$result.=.@OCIP
2d860 61 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 arse($this->connection,.$query);
2d880 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 20 20 .........if.(!$result).{........
2d8a0 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
2d8c0 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 74 68 69 73 r();.........}.........if.($this
2d8e0 2d 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 ->autoCommit).{.............$suc
2d900 63 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 cess.=.@OCIExecute($result,OCI_C
2d920 4f 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 OMMIT_ON_SUCCESS);.........}.els
2d940 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 40 4f 43 49 45 e.{.............$success.=.@OCIE
2d960 78 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 xecute($result,OCI_DEFAULT);....
2d980 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 29 20 7b 0a .....}.........if.(!$success).{.
2d9a0 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 69 38 52 61 ............return.$this->oci8Ra
2d9c0 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 20 7d 0a 20 20 20 iseError($result);.........}....
2d9e0 20 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 .....$this->last_stmt=$result;..
2da00 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 65 72 69 65 .......//.Determine.which.querie
2da20 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 6e 64 20 77 s.that.should.return.data,.and.w
2da40 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 6e 20 61 6e hich.........//.should.return.an
2da60 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 74 75 72 6e .error.code.only..........return
2da80 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 20 3a 20 24 .DB::isManip($query).?.DB_OK.:.$
2daa0 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 20 20 2f 2f result;.....}......//.}}}.....//
2dac0 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()....../**......
2dae0 2a 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 *.Move.the.internal.oracle.resul
2db00 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 6c 65 20 t.pointer.to.the.next.available.
2db20 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 20 76 61 result......*......*.@param.a.va
2db40 6c 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 lid.oci8.result.resource......*.
2db60 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 20 .....*.@access.public......*....
2db80 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 20 69 73 20 ..*.@return.true.if.a.result.is.
2dba0 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 61 6c 73 65 available.otherwise.return.false
2dbc0 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 6c 74 ......*/.....function.nextResult
2dbe0 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 72 6e 20 66 ($result).....{.........return.f
2dc00 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 2f 2f 20 7b alse;.....}......//.}}}.....//.{
2dc20 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 2a 20 46 65 {{.fetchRow()....../**......*.Fe
2dc40 74 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 tch.a.row.and.return.as.array...
2dc60 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 38 ....*......*.@param.$result.oci8
2dc80 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 72 61 6d .result.identifier......*.@param
2dca0 20 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 .$fetchmode.how.the.resulting.ar
2dcc0 72 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 ray.should.be.indexed......*....
2dce0 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 75 63 63 ..*.@return.int.an.array.on.succ
2dd00 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 2c ess,.a.DB.error.code.on.failure,
2dd20 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 68 65 72 .NULL......*.............if.ther
2dd40 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 20 66 75 e.is.no.more.data......*/.....fu
2dd60 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 20 24 66 65 74 63 68 nction.&fetchRow($result,.$fetch
2dd80 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 29 0a 20 20 20 mode.=.DB_FETCHMODE_DEFAULT)....
2dda0 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 42 5f .{.........if.($fetchmode.==.DB_
2ddc0 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 20 20 FETCHMODE_DEFAULT).{............
2dde0 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 3b 0a .$fetchmode.=.$this->fetchmode;.
2de00 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 6f 64 65 ........}.........if.($fetchmode
2de20 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 20 20 20 .&.DB_FETCHMODE_ASSOC).{........
2de40 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 6e 74 6f 28 24 .....$moredata.=.@OCIFetchInto($
2de60 72 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 result,.$row,.OCI_ASSOC.+.OCI_RE
2de80 54 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 TURN_NULLS.+.OCI_RETURN_LOBS);..
2dea0 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 6d 6f 72 .......}.else.{.............$mor
2dec0 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 2c 20 24 edata.=.@OCIFetchInto($result,.$
2dee0 72 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 row,.OCI_RETURN_NULLS.+.OCI_RETU
2df00 52 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 RN_LOBS);.........}.........if.(
2df20 21 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 !$moredata).{.............return
2df40 20 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 .NULL;.........}.........return.
2df60 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 2f 20 7b $row;.....}......//.}}}.....//.{
2df80 7b 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 {{.fetchInto()....../**......*.F
2dfa0 65 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 etch.a.row.and.insert.the.data.i
2dfc0 6e 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 nto.an.existing.array.......*...
2dfe0 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 72 65 73 75 6c 74 20 ...*.@param.$result.oci8.result.
2e000 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 24 61 72 72 20 28 72 identifier......*.@param.$arr.(r
2e020 65 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 eference).array.where.data.from.
2e040 74 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 the.row.is.stored......*.@param.
2e060 24 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 $fetchmode.how.the.array.data.sh
2e080 6f 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 ould.be.indexed......*.@param.$r
2e0a0 6f 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 ownum.the.row.number.to.fetch.(n
2e0c0 6f 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 ot.yet.supported)......*......*.
2e0e0 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.
2e100 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 20 2a 2f DB.error.code.on.failure......*/
2e120 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 2c .....function.fetchInto($result,
2e140 20 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 .&$arr,.$fetchmode.=.DB_FETCHMOD
2e160 45 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 E_DEFAULT,.$rownum=NULL).....{..
2e180 20 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 .......if.($rownum.!==.NULL).{..
2e1a0 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
2e1c0 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 20 ror(DB_ERROR_NOT_CAPABLE);......
2e1e0 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 42 ...}.........if.($fetchmode.&.DB
2e200 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).{.............
2e220 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 65 73 75 6c $moredata.=.@OCIFetchInto($resul
2e240 74 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 t,$arr,OCI_ASSOC+OCI_RETURN_NULL
2e260 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 20 20 20 20 S+OCI_RETURN_LOBS);.............
2e280 69 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 if.($moredata.&&.$this->options[
2e2a0 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 29 20 7b 0a 'optimize'].==.'portability').{.
2e2c0 20 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 ................$arr.=.array_cha
2e2e0 6e 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 nge_key_case($arr,.CASE_LOWER);.
2e300 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.{..
2e320 20 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 ...........$moredata.=.@OCIFetch
2e340 49 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 Into($result,$arr,OCI_RETURN_NUL
2e360 4c 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 LS+OCI_RETURN_LOBS);.........}..
2e380 20 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 .......if.(!$moredata).{........
2e3a0 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 7d 0a 20 20 20 20 .....return.NULL;.........}.....
2e3c0 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;.....}......//.
2e3e0 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 20 20 }}}.....//.{{{.freeResult().....
2e400 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 72 65 ./**......*.Free.the.internal.re
2e420 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 74 2e sources.associated.with.$result.
2e440 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 6f 63 ......*......*.@param.$result.oc
2e460 69 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 i8.result.identifier.or.DB.state
2e480 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 20 20 2a 20 40 72 ment.identifier......*......*.@r
2e4a0 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 41 4c 53 eturn.bool.TRUE.on.success,.FALS
2e4c0 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 2a 2f 0a E.if.$result.is.invalid......*/.
2e4e0 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 6c 74 29 ....function.freeResult($result)
2e500 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 65 28 24 .....{.........if.(is_resource($
2e520 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 40 4f result)).{.............return.@O
2e540 43 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 CIFreeStatement($result);.......
2e560 20 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 ..}.........if.(!isset($this->pr
2e580 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 20 7b 0a 20 epare_tokens[(int)$result])).{..
2e5a0 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 20 20 20 20 ...........return.false;........
2e5c0 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 70 61 72 65 5f .}.........unset($this->prepare_
2e5e0 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 20 20 20 20 75 tokens[(int)$result]);.........u
2e600 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 69 6e 74 29 24 nset($this->prepare_types[(int)$
2e620 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 6d result]);.........unset($this->m
2e640 61 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 anip_query[(int)$result]);......
2e660 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 2f 2f 20 7d 7d ...return.true;.....}......//.}}
2e680 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 66 75 6e 63 }.....//.{{{.numRows()......func
2e6a0 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 20 20 tion.numRows($result).....{.....
2e6c0 20 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 ....//.emulate.numRows.for.Oracl
2e6e0 65 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 e...yuck..........if.($this->opt
2e700 69 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 ions['optimize'].==.'portability
2e720 27 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 '.&&.............$result.===.$th
2e740 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 20 20 20 20 24 63 6f is->last_stmt).{.............$co
2e760 75 6e 74 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 53 45 untquery.=.preg_replace('/^\s*SE
2e780 4c 45 43 54 5c 73 2b 28 2e 2a 3f 29 5c 73 2b 46 52 4f 4d 5c 73 2b 2f 69 73 27 2c 0a 20 20 20 20 LECT\s+(.*?)\s+FROM\s+/is',.....
2e7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2e7c0 20 20 20 27 53 45 4c 45 43 54 20 43 4f 55 4e 54 28 2a 29 20 46 52 4f 4d 20 27 2c 0a 20 20 20 20 ...'SELECT.COUNT(*).FROM.',.....
2e7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2e800 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 5f 71 75 65 72 79 29 3b 0a 20 20 20 20 20 20 20 20 20 ...$this->last_query);..........
2e820 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 71 75 65 ...$save_query.=.$this->last_que
2e840 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 24 74 68 ry;.............$save_stmt.=.$th
2e860 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 6f 75 6e is->last_stmt;.............$coun
2e880 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 3b 0a 20 t.=.$this->query($countquery);..
2e8a0 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 6f 75 6e ...........if.(DB::isError($coun
2e8c0 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 72 72 6f t).||.................DB::isErro
2e8e0 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 46 45 54 r($row.=.$count->fetchRow(DB_FET
2e900 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 20 7b 0a CHMODE_ORDERED))).............{.
2e920 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 75 65 72 ................$this->last_quer
2e940 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 20 20 20 y.=.$save_query;................
2e960 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 74 3b 0a .$this->last_stmt.=.$save_stmt;.
2e980 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 61 ................return.$this->ra
2e9a0 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);.
2e9c0 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 75 72 6e ............}.............return
2e9e0 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 65 74 75 .$row[0];.........}.........retu
2ea00 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
2ea20 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);.....}......//.}}}...
2ea40 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 20 ..//.{{{.numCols()....../**.....
2ea60 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 20 .*.Get.the.number.of.columns.in.
2ea80 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
2eaa0 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 66 69 65 am.$result.oci8.result.identifie
2eac0 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 68 65 20 r......*......*.@return.int.the.
2eae0 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 24 72 65 number.of.columns.per.row.in.$re
2eb00 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 43 6f 6c sult......*/.....function.numCol
2eb20 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 73 20 3d s($result).....{.........$cols.=
2eb40 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 20 20 69 .@OCINumCols($result);.........i
2eb60 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 72 6e 20 f.(!$cols).{.............return.
2eb80 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 29 3b 0a $this->oci8RaiseError($result);.
2eba0 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 3b 0a ........}.........return.$cols;.
2ebc0 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 65 72 72 ....}......//.}}}.....//.{{{.err
2ebe0 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 74 20 74 orNative()....../**......*.Get.t
2ec00 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 61 73 74 he.native.error.code.of.the.last
2ec20 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 20 20 20 .error.(if.any).that.occured....
2ec40 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 2e 20 20 ..*.on.the.current.connection...
2ec60 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 6f 72 20 This.does.not.work,.as.OCIError.
2ec80 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 69 76 65 does......*.not.work.unless.give
2eca0 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 6f 65 73 n.a.statement...If.OCIError.does
2ecc0 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 77 69 6c .return......*.something,.so.wil
2ece0 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 20 69 6e l.this.......*......*.@return.in
2ed00 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 20 2a 2f t.native.oci8.error.code......*/
2ed20 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 20 20 .....function.errorNative().....
2ed40 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 69 73 2d {.........if.(is_resource($this-
2ed60 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 72 72 6f >last_stmt)).{.............$erro
2ed80 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 74 29 3b r.=.@OCIError($this->last_stmt);
2eda0 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 65 .........}.else.{.............$e
2edc0 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 63 74 69 rror.=.@OCIError($this->connecti
2ede0 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 5f 61 72 on);.........}.........if.(is_ar
2ee00 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 74 75 72 ray($error)).{.............retur
2ee20 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 20 20 20 n.$error['code'];.........}.....
2ee40 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 2f 20 ....return.false;.....}......//.
2ee60 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 20 2f 2a }}}.....//.{{{.prepare()....../*
2ee80 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 20 6d 75 *......*.Prepares.a.query.for.mu
2eea0 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 28 29 2e ltiple.execution.with.execute().
2eec0 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 6d 75 6c ..With......*.oci8,.this.is.emul
2eee0 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 65 72 79 ated.......*.@param.$query.query
2ef00 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 20 40 72 .to.be.prepared......*......*.@r
2ef20 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 20 20 20 eturn.DB.statement.resource.....
2ef40 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 72 79 29 .*/.....function.prepare($query)
2ef60 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 74 28 27 .....{.........$tokens.=.split('
2ef80 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 6b 65 6e [\&\?]',.$query);.........$token
2efa0 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 29 3b 0a .=.0;.........$types.=.array();.
2efc0 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 6c 65 6e ........for.($i.=.0;.$i.<.strlen
2efe0 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 20 73 77 ($query);.$i++).{.............sw
2f000 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 20 20 20 itch.($query[$i]).{.............
2f020 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 20 20 20 ....case.'?':...................
2f040 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 5f 53 43 ..$types[$token++].=.DB_PARAM_SC
2f060 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 61 6b 3b ALAR;.....................break;
2f080 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 20 20 20 .................case.'&':......
2f0a0 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 2b 5d 20 ...............$types[$token++].
2f0c0 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 20 20 20 =.DB_PARAM_OPAQUE;..............
2f0e0 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 20 20 20 .......break;.............}.....
2f100 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 28 24 74 ....}.........$binds.=.sizeof($t
2f120 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 20 3d 20 okens).-.1;.........$newquery.=.
2f140 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 20 24 62 '';.........for.($i.=.0;.$i.<.$b
2f160 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 77 71 75 inds;.$i++).{.............$newqu
2f180 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 2e 20 24 ery..=.$tokens[$i]...":bind"...$
2f1a0 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 79 20 2e i;.........}.........$newquery..
2f1c0 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 3e 6c 61 =.$tokens[$i];.........$this->la
2f1e0 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 65 77 71 st_query.=.$query;.........$newq
2f200 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 77 71 75 uery.=.$this->modifyQuery($newqu
2f220 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 73 65 28 ery);.........$stmt.=.@OCIParse(
2f240 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 3b 0a 20 $this->connection,.$newquery);..
2f260 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 73 74 6d .......$this->prepare_types[$stm
2f280 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 61 6e 69 t].=.$types;.........$this->mani
2f2a0 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 61 6e 69 p_query[(int)$stmt].=.DB::isMani
2f2c0 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 6d 74 3b p($query);.........return.$stmt;
2f2e0 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 65 78 .....}......//.}}}.....//.{{{.ex
2f300 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 74 65 73 ecute()....../**......*.Executes
2f320 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 20 70 72 .a.DB.statement.prepared.with.pr
2f340 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 20 24 73 epare().......*......*.@param.$s
2f360 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 72 65 74 tmt.a.DB.statement.resource.(ret
2f380 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 40 70 61 urned.from.prepare())......*.@pa
2f3a0 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 65 78 65 ram.$data.data.to.be.used.in.exe
2f3c0 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 2a 0a 20 cution.of.the.statement......*..
2f3e0 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 6f 63 69 ....*.@return.int.returns.an.oci
2f400 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 66 75 6c 8.result.resource.for.successful
2f420 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 20 66 6f ......*.SELECT.queries,.DB_OK.fo
2f440 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 41 20 44 r.other.successful.queries...A.D
2f460 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 65 64 20 B.error......*.code.is.returned.
2f480 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 69 6f 6e on.failure.......*/.....function
2f4a0 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 29 0a 20 .execute($stmt,.$data.=.false)..
2f4c0 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 72 65 70 ...{.........$types=&$this->prep
2f4e0 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 28 28 24 are_types[$stmt];.........if.(($
2f500 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 65 6f 66 size.=.sizeof($types)).!=.sizeof
2f520 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 20 24 74 ($data)).{.............return.$t
2f540 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 41 54 43 his->raiseError(DB_ERROR_MISMATC
2f560 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 20 3d 20 H);.........}.........for.($i.=.
2f580 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 20 20 20 0;.$i.<.$size;.$i++).{..........
2f5a0 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 20 20 20 ...if.(is_array($data)).{.......
2f5c0 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 5b 24 69 ..........$pdata[$i].=.&$data[$i
2f5e0 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 65 6c 73 ];.............}.............els
2f600 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 5d 20 3d e.{.................$pdata[$i].=
2f620 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 20 20 20 .&$data;.............}..........
2f640 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 5f 4f 50 ...if.($types[$i].==.DB_PARAM_OP
2f660 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 20 66 6f AQUE).{.................$fp.=.fo
2f680 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 20 20 20 pen($pdata[$i],."r");...........
2f6a0 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 20 20 20 ......$pdata[$i].=.'';..........
2f6c0 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 20 20 20 .......if.($fp).{...............
2f6e0 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 70 2c 20 ......while.(($buf.=.fread($fp,.
2f700 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 20 20 20 4096)).!=.false).{..............
2f720 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 3b 0a 20 ...........$pdata[$i]..=.$buf;..
2f740 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 20 ...................}............
2f760 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 20 .....}.............}............
2f780 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 3a 62 69 .if.(!@OCIBindByName($stmt,.":bi
2f7a0 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 20 20 20 nd"...$i,.$pdata[$i],.-1)).{....
2f7c0 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 69 38 52 .............return.$this->oci8R
2f7e0 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 20 7d 0a aiseError($stmt);.............}.
2f800 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 61 75 74 ........}.........if.($this->aut
2f820 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 73 73 20 oCommit).{.............$success.
2f840 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 49 54 5f =.@OCIExecute($stmt,.OCI_COMMIT_
2f860 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 20 20 65 ON_SUCCESS);.........}.........e
2f880 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 40 4f 43 lse.{.............$success.=.@OC
2f8a0 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 0a 20 20 IExecute($stmt,.OCI_DEFAULT);...
2f8c0 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 29 20 7b ......}.........if.(!$success).{
2f8e0 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 69 38 52 .............return.$this->oci8R
2f900 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 20 20 20 aiseError($stmt);.........}.....
2f920 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 0a 20 20 ....$this->last_stmt.=.$stmt;...
2f940 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 28 69 6e ......if.($this->manip_query[(in
2f960 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 6e 20 44 t)$stmt]).{.............return.D
2f980 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 20 20 20 B_OK;.........}.else.{..........
2f9a0 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 2c 20 24 ...return.new.DB_result($this,.$
2f9c0 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 2f 20 7d stmt);.........}.....}......//.}
2f9e0 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 20 20 20 }}.....//.{{{.autoCommit()......
2fa00 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
2fa20 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 72 61 6d tic.commits......*......*.@param
2fa40 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 20 61 75 .$onoff.true/false.whether.to.au
2fa60 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 20 61 75 tocommit......*/.....function.au
2fa80 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 7b 0a 20 toCommit($onoff.=.false).....{..
2faa0 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 6f 6f 6c .......$this->autoCommit.=.(bool
2fac0 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 4b 3b 0a )$onoff;;.........return.DB_OK;.
2fae0 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 6d ....}......//.}}}.....//.{{{.com
2fb00 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 74 72 61 mit()....../**......*.Commit.tra
2fb20 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 65 63 74 nsactions.on.the.current.connect
2fb40 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 45 52 52 ion......*......*.@return.DB_ERR
2fb60 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 69 6f 6e OR.or.DB_OK......*/.....function
2fb80 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 6c 74 20 .commit().....{.........$result.
2fba0 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 6e 29 3b =.@OCICommit($this->connection);
2fbc0 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 20 20 .........if.(!$result).{........
2fbe0 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
2fc00 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
2fc20 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;.....}......//.}}}.....//.{{
2fc40 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 52 6f 6c {.rollback()....../**......*.Rol
2fc60 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 63 74 69 l.back.all.uncommitted.transacti
2fc80 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 2e 0a 20 ons.on.the.current.connection...
2fca0 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 20 6f 72 ....*......*.@return.DB_ERROR.or
2fcc0 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 6f 6c 6c .DB_OK......*/.....function.roll
2fce0 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 3d 20 40 back().....{.........$result.=.@
2fd00 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 29 3b 0a OCIRollback($this->connection);.
2fd20 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).{.........
2fd40 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
2fd60 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 5f ();.........}.........return.DB_
2fd80 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;.....}......//.}}}.....//.{{{
2fda0 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 20 2a 20 .affectedRows()....../**......*.
2fdc0 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 74 65 64 Gets.the.number.of.rows.affected
2fde0 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 20 74 68 .by.the.last.query.......*.if.th
2fe00 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 74 75 72 e.last.query.was.a.select,.retur
2fe20 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 75 6d 62 ns.0.......*......*.@return.numb
2fe40 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 73 74 20 er.of.rows.affected.by.the.last.
2fe60 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 20 66 75 query.or.DB_ERROR......*/.....fu
2fe80 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 20 20 20 nction.affectedRows().....{.....
2fea0 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 66 61 6c ....if.($this->last_stmt.===.fal
2fec0 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 2d 3e se).{.............return.$this->
2fee0 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 20 20 20 oci8RaiseError();.........}.....
2ff00 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 68 69 73 ....$result.=.@OCIRowCount($this
2ff20 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 73 75 6c ->last_stmt);.........if.($resul
2ff40 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 74 75 72 t.===.false).{.............retur
2ff60 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 2d 3e 6c n.$this->oci8RaiseError($this->l
2ff80 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 72 65 74 ast_stmt);.........}.........ret
2ffa0 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 7d 0a 20 urn.$result;.....}......//.}}}..
2ffc0 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 66 75 6e ...//.{{{.modifyQuery()......fun
2ffe0 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 20 7b 0a ction.modifyQuery($query).....{.
30000 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 62 65 20 ........//."SELECT.2+2".must.be.
30020 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 63 6c 65 "SELECT.2+2.FROM.dual".in.Oracle
30040 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 2a 53 45 .........if.(preg_match('/^\s*SE
30060 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 20 20 20 LECT/i',.$query).&&.............
30080 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 75 65 72 !preg_match('/\sFROM\s/i',.$quer
300a0 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 20 46 52 y)).{.............$query..=.".FR
300c0 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 65 74 75 OM.dual";.........}.........retu
300e0 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 20 rn.$query;.....}......//.}}}....
30100 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 20 20 20 .//.{{{.modifyLimitQuery()......
30120 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 69 74 20 /**.....*.Emulate.the.row.limit.
30140 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 20 20 2a support.altering.the.query.....*
30160 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 68 65 20 .....*.@param.string.$query.The.
30180 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 6e 74 20 query.to.treat.....*.@param.int.
301a0 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 20 66 65 ...$from..The.row.to.start.to.fe
301c0 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 24 63 6f tch.from.....*.@param.int....$co
301e0 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 73 74 72 unt.The.offset.....*.@return.str
30200 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 20 20 20 ing.The.modified.query.....*....
30220 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 40 69 64 .*.@author.Tomas.V.V.Cox.<cox@id
30240 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 6e 20 6d ecnet.com>.....*/.....function.m
30260 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,.$
30280 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 72 61 63 count).....{.........//.Let.Orac
302a0 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 75 6d 6e le.return.the.name.of.the.column
302c0 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 67 20 61 s.instead.of.........//.coding.a
302e0 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 5f 66 69 ."home".SQL.parser.........$q_fi
30300 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 29 20 57 elds.=."SELECT.*.FROM.($query).W
30320 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 20 28 21 HERE.NULL.=.NULL";.........if.(!
30340 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 6e 65 63 $result.=.OCIParse($this->connec
30360 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 20 20 20 tion,.$q_fields)).{.............
30380 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 29 3b 0a return.$this->oci8RaiseError();.
303a0 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 63 75 74 ........}.........if.(!OCIExecut
303c0 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 20 20 20 e($result,.OCI_DEFAULT)).{......
303e0 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
30400 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 20 20 20 ror($result);.........}.........
30420 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 0a 20 20 $ncols.=.OCINumCols($result);...
30440 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 20 20 20 ......$cols..=.array();.........
30460 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 69 2b 2b for.(.$i.=.1;.$i.<=.$ncols;.$i++
30480 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 49 43 6f .).{.............$cols[].=.OCICo
304a0 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 20 20 7d lumnName($result,.$i);.........}
304c0 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 20 27 2c .........$fields.=.implode(',.',
304e0 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 74 68 61 .$cols);.........//.XXX.Test.tha
30500 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 2f 69 66 t.(tip.by.John.Lim).........//if
30520 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 73 27 2c (preg_match('/^\s*SELECT\s+/is',
30540 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 2f 20 20 .$query,.$match)).{.........//..
30560 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 20 4f 72 ..//.Introduce.the.FIRST_ROWS.Or
30580 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 2f 2f 20 acle.query.optimizer.........//.
305a0 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 72 6c 65 ...$query.=.substr($query,.strle
305c0 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 3b 0a 20 n($match[0]),.strlen($query));..
305e0 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 20 2f 2a .......//....$query.=."SELECT./*
30600 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 20 20 20 .+FIRST_ROWS.*/."...$query;.....
30620 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 20 74 68 ....//}..........//.Construct.th
30640 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 74 74 70 e.query.........//.more.at:.http
30660 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 68 70 2d ://marc.theaimsgroup.com/?l=php-
30680 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 20 20 20 db&m=99831958101212&w=2.........
306a0 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 6d 69 7a //.Perhaps.this.could.be.optimiz
306c0 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 20 20 20 ed.with.the.use.of.Unions.......
306e0 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 77 6e 75 ..$from.+=.1;.//.in.Oracle.rownu
30700 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 3d 20 22 m.starts.at.1.........$query.=."
30720 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 20 20 20 SELECT.$fields.FROM"............
30740 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 69 6e 65 ......."..(SELECT.rownum.as.line
30760 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 20 20 20 num,.$fields.FROM"..............
30780 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 20 20 20 ....."......($query)"...........
307a0 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 20 28 24 ........"..WHERE.rownum.<=."..($
307c0 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 20 20 20 from.+.$count)..................
307e0 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 0a 20 20 ..").WHERE.linenum.>=.$from";...
30800 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 20 20 20 ......return.$query;.....}......
30820 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 20 //.}}}.....//.{{{.nextId()......
30840 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
30860 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 63 .a.sequence...We.emulate.sequenc
30880 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 65 61 74 es......*.for.MySQL...Will.creat
308a0 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 78 e.the.sequence.if.it.does.not.ex
308c0 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 69 ist.......*......*.@access.publi
308e0 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 65 c......*......*.@param.$seq_name
30900 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......*
30920 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 72 ......*.@param.$ondemand.whether
30940 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 6e .to.create.the.sequence.table.on
30960 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 29 .demand......*.(default.is.true)
30980 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 63 ......*......*.@return.a.sequenc
309a0 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 2f e.integer,.or.a.DB.error......*/
309c0 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 20 .....function.nextId($seq_name,.
309e0 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 20 $ondemand.=.true).....{.........
30a00 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 6d $seqname.=.$this->getSequenceNam
30a20 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 20 3d 20 e($seq_name);.........$repeat.=.
30a40 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 74 68 69 0;.........do.{.............$thi
30a60 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 48 54 41 s->expectError(DB_ERROR_NOSUCHTA
30a80 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 74 68 69 BLE);.............$result.=.$thi
30aa0 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 65 78 74 s->query("SELECT.${seqname}.next
30ac0 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 24 74 68 val.FROM.dual");.............$th
30ae0 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 69 66 20 is->popExpect();.............if.
30b00 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 73 75 6c ($ondemand.&&.DB::isError($resul
30b20 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 2d 3e 67 t).&&.................$result->g
30b40 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 42 4c 45 etCode().==.DB_ERROR_NOSUCHTABLE
30b60 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;
30b80 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
30ba0 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);....
30bc0 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
30be0 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
30c00 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 29 3b 0a urn.$this->raiseError($result);.
30c20 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 20 ................}.............}.
30c40 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 74 20 3d else.{.................$repeat.=
30c60 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 68 69 6c .0;.............}.........}.whil
30c80 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 69 73 45 e.($repeat);.........if.(DB::isE
30ca0 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 72 65 74 rror($result)).{.............ret
30cc0 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 29 3b 0a urn.$this->raiseError($result);.
30ce0 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 75 6c 74 ........}.........$arr.=.$result
30d00 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)
30d20 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 20 7d 0a ;.........return.$arr[0];.....}.
30d40 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 53 65 71 .....//.}}}.....//.{{{.createSeq
30d60 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 65 71 75 uence()......function.createSequ
30d80 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 73 ence($seq_name).....{.........$s
30da0 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 28 eqname.=.$this->getSequenceName(
30dc0 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 73 $seq_name);.........return.$this
30de0 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 71 6e 61 ->query("CREATE.SEQUENCE.${seqna
30e00 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 2f 2f 20 me}");.....}......//.}}}.....//.
30e20 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 69 6f 6e {{{.dropSequence()......function
30e40 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 7b 0a 20 .dropSequence($seq_name).....{..
30e60 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 75 .......$seqname.=.$this->getSequ
30e80 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 72 65 74 enceName($seq_name);.........ret
30ea0 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 43 45 20 urn.$this->query("DROP.SEQUENCE.
30ec0 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 7d 7d 0a ${seqname}");.....}......//.}}}.
30ee0 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 20 20 20 ....//.{{{.oci8RaiseError().....
30f00 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 6e 6f 20 .function.oci8RaiseError($errno.
30f20 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
30f40 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 6f 72 20 .===.null).{.............$error.
30f60 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 29 3b 0a =.@OCIError($this->connection);.
30f80 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
30fa0 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 27 63 6f rror($this->errorCode($error['co
30fc0 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 20 20 20 de']),..........................
30fe0 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 20 24 65 ............null,.null,.null,.$e
31000 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 6c 73 65 rror['message']);.........}.else
31020 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 20 20 20 if.(is_resource($errno)).{......
31040 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 72 6e 6f .......$error.=.@OCIError($errno
31060 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
31080 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[
310a0 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']),.......................
310c0 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,
310e0 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 0a 20 .$error['message']);.........}..
31100 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(
31120 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 20 20 7d $this->errorCode($errno));.....}
31140 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 65 63 69 ......//.}}}.....//.{{{.getSpeci
31160 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 72 6e 73 alQuery()....../**.....*.Returns
31180 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 20 62 61 .the.query.needed.to.get.some.ba
311a0 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 67 20 24 ckend.info.....*.@param.string.$
311c0 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 6e 74 20 type.What.kind.of.info.you.want.
311e0 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 69 6e 67 to.retrieve.....*.@return.string
31200 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 20 20 20 .The.SQL.query.string.....*/....
31220 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 70 65 29 .function.getSpecialQuery($type)
31240 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 20 7b 0a .....{.........switch.($type).{.
31260 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 20 20 20 ............case.'tables':......
31280 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 6c 65 5f ...........$sql.=."SELECT.table_
312a0 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 20 20 20 name.FROM.user_tables";.........
312c0 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 66 61 75 ........break;.............defau
312e0 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 6c 6c 3b lt:.................return.null;
31300 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 6c 3b 0a .........}.........return.$sql;.
31320 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.
31340 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 6c 29 tableInfo($result,.$mode.=.null)
31360 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 20 20 20 .....{.........$count.=.0;......
31380 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 2f 2a 0a ...$res...=.array();........./*.
313a0 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 20 6d .........*.depending.on.$mode,.m
313c0 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 76 61 etadata.returns.the.following.va
313e0 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 20 6d 6f lues:..........*..........*.-.mo
31400 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 20 20 20 de.is.false.(default):..........
31420 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 61 62 6c *.$res[]:..........*...[0]["tabl
31440 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 20 2a 20 e"].......table.name..........*.
31460 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 6d 65 0a ..[0]["name"]........field.name.
31480 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 20 20 20 .........*...[0]["type"]........
314a0 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 6c 65 6e field.type..........*...[0]["len
314c0 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 20 20 20 "].........field.length.........
314e0 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 20 63 61 .*...[0]["nullable"]....field.ca
31500 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 2a 20 20 n.be.null.(boolean)..........*..
31520 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 63 69 73 .[0]["format"]......field.precis
31540 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 5d 5b 22 ion.if.NUMBER..........*...[0]["
31560 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 61 6c 75 default"].....field.default.valu
31580 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 65 20 69 e..........*..........*.-.mode.i
315a0 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 20 2a 20 s.DB_TABLEINFO_ORDER..........*.
315c0 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 65 6c 64 $res[]:..........*...["num_field
315e0 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 20 20 20 s"].....number.of.fields........
31600 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 65 20 6e ..*...[0]["table"].......table.n
31620 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 20 ame..........*...[0]["name"]....
31640 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 30 5d 5b ....field.name..........*...[0][
31660 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 20 20 20 "type"]........field.type.......
31680 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 6c 64 20 ...*...[0]["len"].........field.
316a0 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 61 62 6c length..........*...[0]["nullabl
316c0 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 6c 65 61 e"]....field.can.be.null.(boolea
316e0 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 20 20 20 n)..........*...[0]["format"]...
31700 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 20 20 20 ...field.precision.if.NUMBER....
31720 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 66 69 65 ......*...[0]["default"].....fie
31740 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 20 5b 27 ld.default.value..........*...['
31760 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 66 69 65 order'][field.name].index.of.fie
31780 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 20 20 2a ld.named."field.name"..........*
317a0 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 6f 75 20 ...The.last.one.is.used,.if.you.
317c0 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 65 78 2e have.a.field.name,.but.no.index.
317e0 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 74 28 24 ..........*...Test:..if.(isset($
31800 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 7b 20 2e result['order']['myfield'])).{..
31820 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 64 65 20 ............*..........*.-.mode.
31840 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 20 20 20 is.DB_TABLEINFO_ORDERTABLE......
31860 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 75 74 20 ....*....the.same.as.above..but.
31880 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 72 64 65 additionally..........*...["orde
318a0 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 6d 65 5d rtable"][table.name][field.name]
318c0 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 20 20 20 .index.of.field..........*......
318e0 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 0a 20 20 named."field.name"..........*...
31900 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 65 20 69 .......*......this.is,.because.i
31920 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 65 6e 74 f.you.have.fields.from.different
31940 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 74 68 65 ..........*......tables.with.the
31960 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 69 64 65 .same.field.name.*.they.override
31980 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 69 74 68 .each..........*......other.with
319a0 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 2a 0a 20 .DB_TABLEINFO_ORDER..........*..
319c0 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 65 20 44 ........*......you.can.combine.D
319e0 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 20 20 2a B_TABLEINFO_ORDER.and..........*
31a00 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
31a20 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.|.........
31a40 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 20 .*......DB_TABLEINFO_ORDERTABLE.
31a60 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 20 *.or.with.DB_TABLEINFO_FULL.....
31a80 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 74 20 69 .....*/..........//.if.$result.i
31aa0 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 6f 72 20 s.a.string,.we.collect.info.for.
31ac0 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 74 72 69 a.table.only.........if.(is_stri
31ae0 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 65 73 75 ng($result)).{.............$resu
31b00 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 20 20 20 lt.=.strtoupper($result);.......
31b20 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 75 6d 6e ......$q_fields.=."select.column
31b40 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 2c 20 64 _name,.data_type,.data_length,.d
31b60 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 20 20 20 ata_precision,..................
31b80 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 74 20 66 ........nullable,.data_default.f
31ba0 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 20 20 20 rom.user_tab_columns............
31bc0 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 65 3d 27 ..............where.table_name='
31be0 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 0a 20 20 $result'.order.by.column_id";...
31c00 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 73 65 28 ..........if.(!$stmt.=.OCIParse(
31c20 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 29 20 7b $this->connection,.$q_fields)).{
31c40 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 6f .................return.$this->o
31c60 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 7d 0a 20 ci8RaiseError();.............}..
31c80 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 74 6d 74 ...........if.(!OCIExecute($stmt
31ca0 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 20 20 20 ,.OCI_DEFAULT)).{...............
31cc0 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 24 ..return.$this->oci8RaiseError($
31ce0 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 20 20 20 stmt);.............}............
31d00 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 20 20 20 .while.(OCIFetch($stmt)).{......
31d20 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 65 27 5d ...........$res[$count]['table']
31d40 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 20 20 20 .......=.$result;...............
31d60 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 20 3d 20 ..$res[$count]['name']........=.
31d80 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 20 20 20 @OCIResult($stmt,.1);...........
31da0 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 20 20 20 ......$res[$count]['type']......
31dc0 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 20 20 20 ..=.@OCIResult($stmt,.2);.......
31de0 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 20 20 20 ..........$res[$count]['len']...
31e00 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 0a 20 20 ......=.@OCIResult($stmt,.3);...
31e20 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 6f 72 6d ..............$res[$count]['form
31e40 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 20 34 29 at']......=.@OCIResult($stmt,.4)
31e60 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 5d 5b 27 ;.................$res[$count]['
31e80 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 73 74 6d nullable']....=.(@OCIResult($stm
31ea0 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 0a 20 20 t,.5).==.'Y').?.true.:.false;...
31ec0 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 65 66 61 ..............$res[$count]['defa
31ee0 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 20 36 29 ult'].....=.@OCIResult($stmt,.6)
31f00 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 20 44 42 ;.................if.($mode.&.DB
31f20 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 20 20 20 _TABLEINFO_ORDER).{.............
31f40 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 6f 75 6e ........$res['order'][$res[$coun
31f60 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 20 20 20 t]['name']].=.$count;...........
31f80 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 6f 64 ......}.................if.($mod
31fa0 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 0a 20 e.&.DB_TABLEINFO_ORDERTABLE).{..
31fc0 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 74 61 ...................$res['orderta
31fe0 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 24 72 65 ble'][$res[$count]['table']][$re
32000 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 20 20 20 s[$count]['name']].=.$count;....
32020 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 24 .............}.................$
32040 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 20 20 20 count++;.............}..........
32060 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 74 3b 0a ...$res['num_fields'].=.$count;.
32080 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 28 24 73 ............@OCIFreeStatement($s
320a0 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 65 20 77 tmt);.........}.else.{.//.else.w
320c0 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
320e0 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 3d 3d 3d tset.............if.($result.===
32100 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 20 20 20 .$this->last_stmt).{............
32120 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 73 75 6c .....$count.=.@OCINumCols($resul
32140 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 3b 20 24 t);.................for.($i=0;.$
32160 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 20 i<$count;.$i++).{...............
32180 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 49 43 6f ......$res[$i]['name']..=.@OCICo
321a0 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 20 20 20 lumnName($result,.$i+1);........
321c0 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 20 20 3d .............$res[$i]['type']..=
321e0 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 29 3b 0a .@OCIColumnType($result,.$i+1);.
32200 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 27 6c 65 ....................$res[$i]['le
32220 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 74 2c 20 n']...=.@OCIColumnSize($result,.
32240 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 71 5f 66 $i+1);......................$q_f
32260 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 61 74 61 ields.=."select.table_name,.data
32280 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 66 61 75 _precision,.nullable,.data_defau
322a0 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 65 20 63 lt.from.user_tab_columns.where.c
322c0 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 5d 2e 22 olumn_name='".$res[$i]['name']."
322e0 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 24 73 74 '";.....................if.(!$st
32300 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 6f 6e 2c mt.=.OCIParse($this->connection,
32320 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 20 20 20 .$q_fields)).{..................
32340 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
32360 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 20 20 20 ror();.....................}....
32380 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 75 74 65 .................if.(!OCIExecute
323a0 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 20 20 20 ($stmt,.OCI_DEFAULT)).{.........
323c0 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
323e0 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);............
32400 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 20 20 4f .........}.....................O
32420 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 20 20 20 CIFetch($stmt);.................
32440 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 20 4f 43 ....$res[$i]['table'].......=.OC
32460 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 20 20 20 IResult($stmt,.1);..............
32480 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 20 20 3d .......$res[$i]['format']......=
324a0 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 20 20 20 .OCIResult($stmt,.2);...........
324c0 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 5d 20 20 ..........$res[$i]['nullable']..
324e0 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 59 27 29 ..=.(OCIResult($stmt,.3).==.'Y')
32500 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 20 20 20 .?.true.:.false;................
32520 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 3d 20 4f .....$res[$i]['default'].....=.O
32540 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 20 20 20 CIResult($stmt,.4);.............
32560 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 74 29 3b ........OCIFreeStatement($stmt);
32580 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 64 65 20 ......................if.($mode.
325a0 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).{.........
325c0 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 24 72 ................$res['order'][$r
325e0 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 20 20 es[$i]['name']].=.$i;...........
32600 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 20 20 ..........}.....................
32620 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
32640 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 20 20 24 BLE).{.........................$
32660 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 61 62 6c res['ordertable'][$res[$i]['tabl
32680 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 20 20 20 e']][$res[$i]['name']].=.$i;....
326a0 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 .................}..............
326c0 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 6d 5f 66 ...}.................$res['num_f
326e0 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 20 20 7d ields'].=.$count;..............}
32700 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 24 .else.{.................return.$
32720 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
32740 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 20 7d 0a PABLE);.............}.........}.
32760 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 2f 2f 20 ........return.$res;.....}.}.//.
32780 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 3a 20 34 Local.variables:.//.tab-width:.4
327a0 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 0a 3f 3e .//.c-basic-offset:.4.//.End:.?>
327c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
327e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32800 44 42 2d 31 2e 32 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.2/DB/odbc.php..............
32820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
32880 20 20 33 33 31 31 31 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 36 37 36 30 20 00 00 00 00 00 ..33111..7466465701...6760......
328a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
328c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
328e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
329a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
329c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
329e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32a00 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.//.//.+-------------------
32a20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
32a40 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
32a60 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.........................
32a80 20 20 20 20 20 20 20 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 ...............................|
32aa0 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 .//.+---------------------------
32ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
32ae0 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).
32b00 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.........
32b20 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 .......................|.//.+---
32b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
32b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
32b80 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
32ba0 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
32bc0 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
32be0 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
32c00 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........|.//.
32c20 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
32c40 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
32c60 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
32c80 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...............
32ca0 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
32cc0 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
32ce0 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...|
32d00 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
32d20 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
32d40 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
32d60 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
32d80 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................|.//.+---
32da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
32dc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
32de0 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
32e00 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>.....................
32e20 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 ...............|.//.+-----------
32e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
32e60 2d 2d 2d 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 ---------------------------+.//.
32e80 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
32ea0 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
32ec0 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.
32ee0 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
32f00 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:.//
32f20 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
32f40 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.
32f60 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
32f80 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_
32fa0 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
32fc0 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
32fe0 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.//........
33000 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..//.
33020 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';..
33040 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.
33060 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
33080 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,.
330a0 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(
330c0 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
330e0 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()...
33100 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();.
33120 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';
33140 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
33160 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
33180 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
331a0 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
331c0 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'.=
331e0 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'.=>.
33200 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
33220 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(......
33240 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
33260 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_
33280 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
332a0 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,.......
332c0 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
332e0 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
33300 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,.............
33320 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
33340 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
33360 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'.=
33380 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,..........
333a0 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,.
333c0 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_
333e0 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'.=>.
33400 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
33420 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,........
33440 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
33460 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_
33480 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,.............'
334a0 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,...
334c0 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
334e0 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'.=>.
33500 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,........
33520 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
33540 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
33560 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,.............
33580 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,..
335a0 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
335c0 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
335e0 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
33600 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....
33620 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 .....);.....}......//.}}}.....//
33640 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
33660 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.
33680 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.......*...
336a0 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
336c0 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
336e0 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
33700 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.
33720 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
33740 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_
33760 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
33780 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
337a0 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
337c0 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
337e0 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'))...........
33800 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
33820 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);.......
33840 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;.......
33860 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'
33880 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
338a0 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'];.......
338c0 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
338e0 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':
33900 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
33920 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
33940 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,................
33960 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,........
33980 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
339a0 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.................);..........
339c0 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
339e0 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;.......
33a00 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':..........
33a20 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
33a40 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
33a60 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
33a80 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;.............
33aa0 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:.
33ac0 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;.........}
33ae0 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
33b00 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'].:
33b20 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
33b40 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.
33b60 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'];.........
33b80 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'))
33ba0 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
33bc0 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'
33be0 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
33c00 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
33c20 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';.........}...
33c40 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
33c60 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
33c80 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)).{.......
33ca0 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
33cc0 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
33ce0 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,.............................
33d00 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
33d20 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
33d40 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
33d60 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;.....}......//.}}}..
33d80 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
33da0 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().....{.........
33dc0 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
33de0 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
33e00 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;...
33e20 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
33e40 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.
33e60 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
33e80 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
33ea0 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.
33ec0 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......*.....
33ee0 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
33f00 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
33f20 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
33f40 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
33f60 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
33f80 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
33fa0 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
33fc0 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;.........
33fe0 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
34000 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
34020 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);...
34040 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).{...........
34060 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()
34080 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.........}.....
340a0 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
340c0 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
340e0 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
34100 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
34120 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
34140 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;.//.
34160 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
34180 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;.........}.........$
341a0 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;.........
341c0 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;........
341e0 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;.....}......//.}
34200 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()......
34220 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
34240 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
34260 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
34280 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
342a0 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...
342c0 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
342e0 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
34300 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
34320 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).....{.........
34340 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)
34360 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
34380 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
343a0 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
343c0 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).....{
343e0 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
34400 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).{.............$
34420 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;...
34440 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
34460 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
34480 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.!
344a0 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.$
344c0 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
344e0 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;.....}......//.}}}.....//.{{{
34500 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
34520 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,
34540 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
34560 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
34580 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
345a0 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......
345c0 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
345e0 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
34600 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")).
34620 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
34640 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
34660 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
34680 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',
346a0 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.
346c0 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,
346e0 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.{.
34700 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
34720 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);
34740 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.{.
34760 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
34780 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
347a0 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
347c0 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
347e0 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);.
34800 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.{............
34820 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
34840 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);.............}......
34860 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).{.....
34880 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
348a0 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...
348c0 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
348e0 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)...........
34900 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-
34920 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)).{.................
34940 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)
34960 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
34980 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.
349a0 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
349c0 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;
349e0 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++).{......
34a00 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
34a20 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);...........
34a40 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];..
34a60 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.=.
34a80 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_
34aa0 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;.....}......//.}}}.....//.{{{
34ac0 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
34ae0 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
34b00 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)).{.......
34b20 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.....
34b40 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(
34b60 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.(
34b80 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
34ba0 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
34bc0 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
34be0 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
34c00 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
34c20 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]);.......
34c40 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;.....}......//.}}}
34c60 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
34c80 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).....{......
34ca0 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
34cc0 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).{.....
34ce0 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
34d00 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
34d20 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;.....}......//.}}}.....//
34d40 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()....../**....
34d60 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
34d80 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..
34da0 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)...
34dc0 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
34de0 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
34e00 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
34e20 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
34e40 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
34e60 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
34e80 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............
34ea0 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
34ec0 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
34ee0 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.==.
34f00 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->
34f20 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();.........}.....
34f40 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;.....}......//
34f60 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()....../
34f80 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
34fa0 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
34fc0 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.......*.
34fe0 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
35000 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
35020 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......*/..
35040 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)....
35060 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
35080 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.=
350a0 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
350c0 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
350e0 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
35100 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;.....}......//.}}}...../
35120 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()....../**....
35140 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
35160 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...
35180 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
351a0 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
351c0 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
351e0 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
35200 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().....{........
35220 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).|
35240 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
35260 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
35280 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();...
352a0 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
352c0 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
352e0 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);..
35300 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
35320 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
35340 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
35360 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
35380 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
353a0 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
353c0 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.$
353e0 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
35400 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
35420 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.
35440 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.
35460 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
35480 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
354a0 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
354c0 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).....{.
354e0 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
35500 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
35520 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.{.........
35540 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
35560 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");
35580 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
355a0 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).&&...........
355c0 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
355e0 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).{...............
35600 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;.................$
35620 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($
35640 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
35660 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)).{..........
35680 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;......
356a0 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
356c0 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
356e0 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)");...
35700 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.{..............
35720 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;.............}...
35740 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);........
35760 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)).{...
35780 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;.......
357a0 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
357c0 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}")
357e0 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
35800 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
35820 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
35840 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
35860 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.
35880 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.
358a0 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.
358c0 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'];.....}......//.}}}...
358e0 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
35900 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
35920 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
35940 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);...
35960 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
35980 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}."............
359a0 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
359c0 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,'........................
359e0 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))');.....
35a00 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
35a20 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
35a40 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
35a60 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
35a80 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->
35aa0 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}");.
35ac0 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
35ae0 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
35b00 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).....{........
35b20 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
35b40 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)).{............
35b60 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();
35b80 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;
35ba0 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
35bc0 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()...
35be0 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
35c00 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)).{.............
35c20 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();.
35c40 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;.
35c60 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
35c80 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()
35ca0 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
35cc0 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)).{........
35ce0 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
35d00 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
35d20 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;.....}......//.}}}.....//.{{
35d40 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
35d60 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)..
35d80 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
35da0 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->
35dc0 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
35de0 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
35e00 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
35e20 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,..................
35e40 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());...
35e60 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
35e80 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
35ea0 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
35ec0 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
35ee0 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
35f00 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
35f20 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.....*/.
35f40 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
35f60 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)
35f80 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':...
35fa0 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:..............
35fc0 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;.........}.......
35fe0 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;.....}......//.}}}
36000 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-
36020 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.//
36040 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:.?>........................
36060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
360a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
360c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
360e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
361a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
361c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
361e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36200 44 42 2d 31 2e 32 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.2/DB/pgsql.php.............
36220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
36280 20 20 36 32 36 34 34 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 32 31 34 20 00 00 00 00 00 ..62644..7466465701...7214......
362a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
362c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
362e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36400 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.//.//.+-------------------
36420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
36440 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
36460 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.........................
36480 20 20 20 20 20 20 20 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 ...............................|
364a0 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 .//.+---------------------------
364c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
364e0 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).
36500 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.........
36520 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 .......................|.//.+---
36540 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
36560 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
36580 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
365a0 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
365c0 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
365e0 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
36600 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........|.//.
36620 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
36640 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
36660 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
36680 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...............
366a0 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
366c0 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
366e0 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...|
36700 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
36720 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
36740 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
36760 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
36780 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................|.//.+---
367a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
367c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
367e0 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.
36800 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>........
36820 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
36840 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>........
36860 20 20 20 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 ...........................|.//.
36880 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 +-------------------------------
368a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
368c0 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.
368e0 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.
36900 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
36920 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'
36940 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..//../
36960 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
36980 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.
369a0 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.//........
369c0 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
369e0 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
36a00 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.{
36a20 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.
36a40 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,.$
36a60 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
36a80 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
36aa0 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
36ac0 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.=.
36ae0 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();
36b00 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();...
36b20 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
36b40 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
36b60 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;.....
36b80 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..
36ba0 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().....{...
36bc0 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();.......
36be0 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';.....
36c00 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';..
36c20 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(.
36c40 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,.
36c60 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,.
36c80 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
36ca0 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
36cc0 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
36ce0 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(.........);..
36d00 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
36d20 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
36d40 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
36d60 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
36d80 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
36da0 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)......
36dc0 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).
36de0 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...
36e00 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......*
36e20 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
36e40 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
36e60 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
36e80 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)....
36ea0 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
36ec0 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
36ee0 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
36f00 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
36f20 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
36f40 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'
36f60 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
36f80 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.=.'';......
36fa0 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').{...
36fc0 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='...$
36fe0 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'];............
37000 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'])).{
37020 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
37040 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'];.......
37060 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
37080 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'])).{...
370a0 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='
370c0 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'];........
370e0 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['
37100 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
37120 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
37140 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
37160 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'])).{...
37180 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
371a0 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'];......
371c0 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
371e0 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
37200 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['
37220 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.
37240 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'])).{.....
37260 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
37280 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'];.........}........
372a0 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
372c0 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'
372e0 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........
37300 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
37320 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);.......
37340 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();...
37360 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
37380 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).{.............
373a0 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
373c0 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,.........
373e0 20 20 20 20 20 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
37400 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));...
37420 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
37440 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;
37460 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
37480 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
374a0 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
374c0 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.
374e0 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
37500 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
37520 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.=.
37540 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);.//
37560 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
37580 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.$
375a0 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;.....}......//.}}}.....//.{{
375c0 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()....../**......*.
375e0 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
37600 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
37620 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....
37640 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
37660 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
37680 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
376a0 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......*
376c0 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
376e0 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..
37700 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....
37720 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($
37740 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.=.
37760 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
37780 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;........
377a0 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
377c0 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
377e0 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).{.............
37800 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.=
37820 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.=
37840 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
37860 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
37880 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
378a0 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();....
378c0 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 .............}.............}....
378e0 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
37900 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
37920 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,.$
37940 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).{.
37960 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
37980 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();.........}........./
379a0 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
379c0 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....
379e0 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
37a00 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).
37a20 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.=.
37a40 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);.........
37a60 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
37a80 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
37aa0 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).&&............
37ac0 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
37ae0 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)).{..
37b00 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
37b20 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,.
37b40 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
37b60 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
37b80 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
37ba0 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
37bc0 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,
37be0 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
37c00 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.
37c20 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,................
37c40 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........
37c60 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[$
37c80 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
37ca0 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
37cc0 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);..........
37ce0 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)).{...
37d00 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;..
37d20 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->
37d40 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;...
37d60 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;..
37d80 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;......
37da0 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
37dc0 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.
37de0 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;.........}.....}......//.}
37e00 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()......
37e20 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
37e40 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
37e60 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
37e80 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
37ea0 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..
37ec0 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
37ee0 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
37f00 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
37f20 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).....{........
37f40 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;.....}......//.}}}
37f60 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()....../**
37f80 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
37fa0 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.
37fc0 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
37fe0 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
38000 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.....
38020 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
38040 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
38060 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.
38080 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)...
380a0 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
380c0 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
380e0 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.
38100 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
38120 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
38140 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
38160 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.
38180 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)).{.......
381a0 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(...
381c0 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.
381e0 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.[\"\'].*[\"\'].
38200 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
38220 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)$/'.
38240 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,........
38260 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.[\"\'].*[\"\
38280 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.
382a0 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
382c0 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
382e0 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
38300 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$/'.................
38320 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,........
38340 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..*:
38360 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
38380 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
383a0 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
383c0 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
383e0 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.[\"\'].*[\"\']
38400 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,.....
38420 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
38440 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_
38460 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
38480 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/'.....
384a0 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..........
384c0 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.
384e0 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
38500 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
38520 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)).{........
38540 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;..........
38560 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
38580 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.
385a0 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
385c0 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 ;.....}......//.}}}...../**.....
385e0 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
38600 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)..
38620 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.
38640 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.
38660 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.
38680 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
386a0 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
386c0 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
386e0 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
38700 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
38720 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
38740 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)..
38760 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
38780 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).{..........
387a0 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
387c0 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
387e0 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
38800 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
38820 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
38840 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
38860 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
38880 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
388a0 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
388c0 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
388e0 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
38900 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
38920 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
38940 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
38960 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
38980 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
389a0 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......
389c0 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
389e0 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
38a00 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
38a20 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
38a40 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
38a60 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.
38a80 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
38aa0 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
38ac0 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
38ae0 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
38b00 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).{.....
38b20 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($
38b40 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);..
38b60 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
38b80 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
38ba0 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)
38bc0 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
38be0 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);.......
38c00 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).{..............
38c20 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;.............}...
38c40 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
38c60 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
38c80 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;...
38ca0 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;.....}....../
38cc0 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()...
38ce0 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.
38d00 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
38d20 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.
38d40 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
38d60 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.....
38d80 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
38da0 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
38dc0 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
38de0 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
38e00 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)).{..........
38e20 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
38e40 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(
38e60 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
38e80 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
38ea0 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-
38ec0 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]);.
38ee0 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
38f00 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
38f20 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]);.....
38f40 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)$
38f60 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
38f80 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;.....
38fa0 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()
38fc0 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
38fe0 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
39000 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
39020 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
39040 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
39060 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
39080 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.....*/.
390a0 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).
390c0 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
390e0 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
39100 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
39120 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
39140 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'
39160 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;.
39180 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':......
391a0 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:.................
391c0 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
391e0 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
39200 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
39220 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
39240 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
39260 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
39280 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'";.........}.....}.....//.}}}
392a0 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()....../**..
392c0 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.
392e0 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.......*......*.@
39300 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
39320 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......*......
39340 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
39360 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......*/..
39380 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)....
393a0 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
393c0 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).{
393e0 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
39400 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();.........}.........
39420 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;.....}......//.}}}.
39440 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()....../**...
39460 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
39480 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
394a0 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
394c0 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
394e0 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.
39500 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
39520 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
39540 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);.......
39560 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).{.........
39580 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
395a0 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
395c0 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;.....}......//.}}}.....//.{{
395e0 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()....../**......*.
39600 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
39620 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......*
39640 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
39660 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
39680 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......
396a0 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()...
396c0 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
396e0 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);.....}....
39700 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()
39720 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.
39740 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
39760 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
39780 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-
397a0 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
397c0 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.
397e0 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
39800 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;
39820 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;.....}....
39840 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()....
39860 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.
39880 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
398a0 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
398c0 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).{..
398e0 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
39900 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
39920 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
39940 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"));........
39960 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
39980 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;");.............
399a0 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;.
399c0 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).{.....
399e0 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
39a00 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();.............}......
39a20 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;.....}
39a40 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
39a60 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
39a80 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.....
39aa0 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()....
39ac0 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
39ae0 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
39b00 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
39b20 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-
39b40 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;.......
39b60 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).{...........
39b80 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
39ba0 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();.............}.........}..
39bc0 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;.....}......
39be0 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()
39c00 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
39c20 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
39c40 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
39c60 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.......*...
39c80 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.
39ca0 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
39cc0 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
39ce0 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.
39d00 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;.....}......//.}
39d20 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()....../**.
39d40 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
39d60 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
39d80 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.
39da0 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
39dc0 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
39de0 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.......*.....
39e00 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.
39e20 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
39e40 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
39e60 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
39e80 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
39ea0 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
39ec0 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
39ee0 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).....{.
39f00 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
39f20 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
39f40 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.{.........
39f60 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
39f80 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
39fa0 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
39fc0 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}')");............
39fe0 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();.....
3a000 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
3a020 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).&&................
3a040 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_
3a060 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).{.................$
3a080 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
3a0a0 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
3a0c0 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::
3a0e0 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)).{.............
3a100 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
3a120 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);.................}....
3a140 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.{...............
3a160 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;.............}....
3a180 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);.........
3a1a0 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)).{.....
3a1c0 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
3a1e0 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
3a200 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
3a220 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
3a240 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];...
3a260 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
3a280 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
3a2a0 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
3a2c0 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
3a2e0 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
3a300 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
3a320 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.
3a340 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
3a360 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
3a380 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($
3a3a0 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
3a3c0 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);.
3a3e0 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("
3a400 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}");...
3a420 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();
3a440 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;.....}..
3a460 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
3a480 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
3a4a0 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
3a4c0 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
3a4e0 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
3a500 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..
3a520 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......*/....
3a540 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
3a560 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
3a580 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);...
3a5a0 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.
3a5c0 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}");.....}....
3a5e0 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
3a600 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
3a620 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)....
3a640 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
3a660 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
3a680 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;.....}......//.}}}...
3a6a0 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()......
3a6c0 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.
3a6e0 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.=.
3a700 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
3a720 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).{............
3a740 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
3a760 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.{.............
3a780 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;.........}........
3a7a0 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,.
3a7c0 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);.....
3a7e0 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
3a800 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
3a820 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
3a840 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
3a860 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
3a880 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......*..
3a8a0 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
3a8c0 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
3a8e0 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",......*....
3a900 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
3a920 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
3a940 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
3a960 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
3a980 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).....{......
3a9a0 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($
3a9c0 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);..........
3a9e0 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
3aa00 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
3aa20 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..........................
3aa40 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
3aa60 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...........
3aa80 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.
3aaa0 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...........
3aac0 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
3aae0 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.............
3ab00 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
3ab20 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'...............
3ab40 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
3ab60 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.
3ab80 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).{.....
3aba0 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
3abc0 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..=.(
3abe0 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.'.:.
3ac00 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].==.
3ac20 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.=
3ac40 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
3ac60 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.....................
3ac80 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
3aca0 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,.
3acc0 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....................
3ace0 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
3ad00 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
3ad20 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..................
3ad40 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
3ad60 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.=.'$
3ad80 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'.....................
3ada0 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.
3adc0 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'");..............
3ade0 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,.
3ae00 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
3ae20 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]);......
3ae40 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_$
3ae60 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.";.............}.........}..
3ae80 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->
3aea0 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
3aec0 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.....
3aee0 20 20 20 20 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
3af00 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
3af20 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..........
3af40 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
3af60 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..........
3af80 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
3afa0 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............
3afc0 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
3afe0 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................
3b000 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.=
3b020 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'..................
3b040 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.=
3b060 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
3b080 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);.........
3b0a0 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++
3b0c0 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_
3b0e0 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
3b100 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]);....
3b120 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
3b140 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)).{................
3b160 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
3b180 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
3b1a0 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
3b1c0 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.(
3b1e0 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)...............
3b200 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.';
3b220 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 .............}.........}........
3b240 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);.....}....
3b260 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().
3b280 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
3b2a0 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
3b2c0 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
3b2e0 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
3b300 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......*....
3b320 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
3b340 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
3b360 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.
3b380 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
3b3a0 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......*.......
3b3c0 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).
3b3e0 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
3b400 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...
3b420 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
3b440 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).....{.......
3b460 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
3b480 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();.....
3b4a0 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.
3b4c0 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
3b4e0 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:..........*........
3b500 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):..
3b520 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[]:..........*.
3b540 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......
3b560 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
3b580 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
3b5a0 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"]..
3b5c0 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][
3b5e0 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..........*
3b600 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
3b620 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[]:..
3b640 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
3b660 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..........*
3b680 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.....
3b6a0 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
3b6c0 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
3b6e0 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"].
3b700 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]
3b720 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..........
3b740 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
3b760 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"....
3b780 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,.
3b7a0 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
3b7c0 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.(
3b7e0 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']
3b800 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 )).{..............*..........*.-
3b820 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
3b840 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
3b860 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..........*...
3b880 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
3b8a0 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..........*
3b8c0 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"........
3b8e0 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
3b900 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
3b920 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
3b940 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
3b960 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
3b980 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.......
3b9a0 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
3b9c0 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.....
3b9e0 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
3ba00 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.|...
3ba20 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
3ba40 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
3ba60 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
3ba80 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
3baa0 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
3bac0 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.........
3bae0 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)).{......
3bb00 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
3bb20 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");
3bb40 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)).{..
3bb60 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
3bb80 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();.............}...
3bba0 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
3bbc0 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....
3bbe0 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;.........
3bc00 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)).{...........
3bc20 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
3bc40 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();.............}.........}..
3bc60 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($
3bc80 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
3bca0 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
3bcc0 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.
3bce0 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
3bd00 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++).{.....
3bd20 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'].=.
3bd40 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.:
3bd60 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
3bd80 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)
3bda0 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
3bdc0 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);..
3bde0 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']..
3be00 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);.....
3be20 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'].=.
3be40 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
3be60 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).:.
3be80 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
3bea0 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
3bec0 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;.............
3bee0 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++).{..
3bf00 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']
3bf20 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
3bf40 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]
3bf60 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,.
3bf80 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
3bfa0 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)
3bfc0 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'
3bfe0 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);..
3c000 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']
3c020 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-
3c040 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)
3c060 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
3c080 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).{........
3c0a0 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[
3c0c0 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;..............
3c0e0 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.&
3c100 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).{.....
3c120 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
3c140 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]['
3c160 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;.................}.
3c180 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 ............}.........}.........
3c1a0 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
3c1c0 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
3c1e0 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)).{...........
3c200 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);.........}
3c220 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;.....}.....
3c240 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
3c260 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
3c280 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.
3c2a0 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
3c2c0 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
3c2e0 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
3c300 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
3c320 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).....{
3c340 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).{.......
3c360 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':.{..........
3c380 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.
3c3a0 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\".....................
3c3c0 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..
3c3e0 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
3c400 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
3c420 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'........................
3c440 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
3c460 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
3c480 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.
3c4a0 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_'.............
3c4c0 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...............
3c4e0 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.\"
3c500 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
3c520 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..................
3c540 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'....
3c560 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
3c580 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
3c5a0 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).........
3c5c0 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.(
3c5e0 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
3c600 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)..............
3c620 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
3c640 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;.....
3c660 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
3c680 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
3c6a0 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
3c6c0 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
3c6e0 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";..
3c700 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;...........
3c720 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':.{.
3c740 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
3c760 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|
3c780 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
3c7a0 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
3c7c0 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';......
3c7e0 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;.............}.
3c800 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':.{.
3c820 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
3c840 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';.......
3c860 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;.............}..
3c880 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':.{..
3c8a0 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
3c8c0 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';............
3c8e0 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;.............}.......
3c900 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
3c920 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
3c940 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;.....}......//.}}}..}.
3c960 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
3c980 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
3c9a0 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 :.?>............................
3c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca00 44 42 2d 31 2e 32 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.2/DB/sybase.php............
3ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
3ca80 20 20 31 35 34 35 37 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 33 35 34 20 00 00 00 00 00 ..15457..7466465701...7354......
3caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cc00 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.//.//.+-------------------
3cc20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3cc40 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
3cc60 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.........................
3cc80 20 20 20 20 20 20 20 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 ...............................|
3cca0 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 .//.+---------------------------
3ccc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3cce0 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).
3cd00 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.........
3cd20 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 .......................|.//.+---
3cd40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3cd60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3cd80 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
3cda0 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
3cdc0 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
3cde0 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
3ce00 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........|.//.
3ce20 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
3ce40 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
3ce60 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
3ce80 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...............
3cea0 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
3cec0 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
3cee0 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...|
3cf00 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
3cf20 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
3cf40 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
3cf60 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
3cf80 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................|.//.+---
3cfa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3cfc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3cfe0 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
3d000 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>............
3d020 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 ...............|.//.+-----------
3d040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3d060 2d 2d 2d 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 ---------------------------+.//.
3d080 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
3d0a0 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
3d0c0 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
3d0e0 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.//
3d100 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
3d120 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
3d140 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
3d160 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;..
3d180 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;.....
3d1a0 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();..
3d1c0 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();
3d1e0 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
3d200 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()...
3d220 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();.
3d240 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
3d260 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
3d280 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.=
3d2a0 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'.=>
3d2c0 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'.=
3d2e0 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
3d300 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'
3d320 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'.........);.....}..
3d340 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().
3d360 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,.
3d380 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).....{......
3d3a0 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
3d3c0 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
3d3e0 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.$
3d400 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
3d420 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->
3d440 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.=.
3d460 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
3d480 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'];.....
3d4a0 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
3d4c0 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
3d4e0 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
3d500 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
3d520 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';.......
3d540 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).
3d560 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
3d580 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);...
3d5a0 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
3d5c0 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
3d5e0 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);......
3d600 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).{.........
3d620 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
3d640 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.{........
3d660 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()
3d680 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)
3d6a0 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
3d6c0 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)
3d6e0 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
3d700 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.
3d720 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
3d740 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)).{.............
3d760 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_
3d780 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);............
3d7a0 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
3d7c0 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
3d7e0 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;.....}......//.}}}.....//.{
3d800 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
3d820 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.=.
3d840 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)
3d860 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
3d880 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;.....}..
3d8a0 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
3d8c0 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
3d8e0 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_
3d900 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.=
3d920 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);....
3d940 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
3d960 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);........
3d980 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
3d9a0 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();........
3d9c0 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
3d9e0 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
3da00 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
3da20 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
3da40 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
3da60 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;.....}......//.}}}...
3da80 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()....../**..
3daa0 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
3dac0 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
3dae0 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.
3db00 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...
3db20 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......
3db40 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
3db60 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.
3db80 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
3dba0 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
3dbc0 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;.....}......//.}}}....
3dbe0 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.
3dc00 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.=.
3dc20 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
3dc40 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
3dc60 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).{.....
3dc80 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
3dca0 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.=.
3dcc0 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,
3dce0 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
3dd00 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).{............
3dd20 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;.........}.........
3dd40 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;.....}......//.}}}..
3dd60 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
3dd80 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
3dda0 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).....{....
3ddc0 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).{....
3dde0 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($
3de00 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)).{.............
3de20 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();.
3de40 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 ............}.........}.........
3de60 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
3de80 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
3dea0 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
3dec0 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).{........
3dee0 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
3df00 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(
3df20 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
3df40 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.(
3df60 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
3df80 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.
3dfa0 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);.....
3dfc0 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.{..............
3dfe0 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;.............//}.
3e000 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;.
3e020 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
3e040 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
3e060 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
3e080 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)).{...........
3e0a0 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
3e0c0 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
3e0e0 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)$
3e100 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
3e120 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
3e140 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
3e160 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
3e180 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
3e1a0 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;.....}......//.}}}...
3e1c0 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
3e1e0 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).....{.........
3e200 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
3e220 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).{......
3e240 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(
3e260 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
3e280 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;.....}......//.}}}.....//.{{{.
3e2a0 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
3e2c0 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.
3e2e0 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......*.
3e300 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.
3e320 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.......*......
3e340 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
3e360 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......*/.....
3e380 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().....{..
3e3a0 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
3e3c0 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
3e3e0 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->
3e400 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.{...
3e420 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;.........}
3e440 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;......}.
3e460 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
3e480 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.
3e4a0 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
3e4c0 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
3e4e0 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
3e500 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.
3e520 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.....*/.....
3e540 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).
3e560 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).{..
3e580 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':.......
3e5a0 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
3e5c0 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
3e5e0 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
3e600 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':.
3e620 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
3e640 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.=
3e660 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;...
3e680 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:..............
3e6a0 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;.........}.......
3e6c0 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;.....}......//.}}}
3e6e0 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
3e700 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
3e720 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:..*/.?>.................
3e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e800 44 42 2d 31 2e 32 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.2/DB/storage.php...........
3e820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
3e880 20 20 33 34 32 37 35 20 20 37 34 36 36 34 36 35 37 30 31 20 20 20 37 35 33 31 20 00 00 00 00 00 ..34275..7466465701...7531......
3e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ea00 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.//.//.+-------------------
3ea20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3ea40 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
3ea60 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.........................
3ea80 20 20 20 20 20 20 20 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 ...............................|
3eaa0 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 .//.+---------------------------
3eac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3eae0 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).
3eb00 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.........
3eb20 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 .......................|.//.+---
3eb40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3eb60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3eb80 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
3eba0 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
3ebc0 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
3ebe0 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
3ec00 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........|.//.
3ec20 7c 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 6f 72 6c 64 |.available.at.through.the.world
3ec40 2d 77 69 64 65 2d 77 65 62 20 61 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -wide-web.at....................
3ec60 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
3ec80 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...............
3eca0 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
3ecc0 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
3ece0 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...|
3ed00 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
3ed20 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
3ed40 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
3ed60 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
3ed80 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................|.//.+---
3eda0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3edc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3ede0 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
3ee00 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>....................
3ee20 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 ...............|.//.+-----------
3ee40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3ee60 2d 2d 2d 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 ---------------------------+.//.
3ee80 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
3eea0 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
3eec0 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.
3eee0 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.
3ef00 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
3ef20 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.
3ef40 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
3ef60 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_
3ef80 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
3efa0 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..*
3efc0 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
3efe0 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
3f000 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>..*.
3f020 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
3f040 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
3f060 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
3f080 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.....
3f0a0 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
3f0c0 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
3f0e0 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
3f100 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,.
3f120 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
3f140 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
3f160 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
3f180 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
3f1a0 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;....../**.
3f1c0 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
3f1e0 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.
3f200 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
3f220 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
3f240 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
3f260 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.
3f280 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
3f2a0 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
3f2c0 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
3f2e0 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
3f300 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
3f320 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
3f340 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
3f360 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..........
3f380 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
3f3a0 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.......
3f3c0 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
3f3e0 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
3f400 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.
3f420 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
3f440 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
3f460 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
3f480 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.....
3f4a0 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
3f4c0 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;....../**.
3f4e0 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......*......*
3f500 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
3f520 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......*.....
3f540 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
3f560 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
3f580 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
3f5a0 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
3f5c0 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
3f5e0 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
3f600 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
3f620 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
3f640 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
3f660 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
3f680 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
3f6a0 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.
3f6c0 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..
3f6e0 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
3f700 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_
3f720 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
3f740 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).....{.....
3f760 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');....
3f780 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;....
3f7a0 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
3f7c0 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;
3f7e0 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
3f800 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.=.$
3f820 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;.....}....../**......*
3f840 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
3f860 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
3f880 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.......*......*
3f8a0 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
3f8c0 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
3f8e0 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
3f900 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).....{........
3f920 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)
3f940 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.===.
3f960 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.
3f980 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
3f9a0 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++).{....................
3f9c0 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
3f9e0 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]};.................}..
3fa00 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
3fa20 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.
3fa40 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
3fa60 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.
3fa80 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).{.....................$
3faa0 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.';.........
3fac0 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
3fae0 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];
3fb00 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
3fb20 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])).{....................
3fb40 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
3fb60 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,................
3fb80 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
3fba0 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
3fbc0 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';................
3fbe0 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
3fc00 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
3fc20 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]);..........
3fc40 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 .......}.............}.........}
3fc60 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.
3fc80 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
3fca0 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
3fcc0 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
3fce0 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;..
3fd00 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))
3fd20 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
3fd40 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
3fd60 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
3fd80 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.................$
3fda0 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';......
3fdc0 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.{.................
3fde0 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->_
3fe00 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);............
3fe20 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
3fe40 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;.....}....../**......*.
3fe60 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
3fe80 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
3fea0 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
3fec0 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
3fee0 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
3ff00 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
3ff20 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
3ff40 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
3ff60 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
3ff80 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);........
3ffa0 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
3ffc0 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
3ffe0 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...
40000 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;.......
40020 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
40040 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
40060 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;..
40080 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
400a0 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);.....
400c0 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)).{....
400e0 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;.........}.
40100 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)).{......
40120 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(
40140 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,.
40160 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,...........................
40180 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);.
401a0 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.
401c0 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).{............
401e0 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
40200 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
40220 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_
40240 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
40260 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
40280 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
402a0 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($
402c0 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
402e0 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)).{.........
40300 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
40320 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.{...........
40340 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
40360 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
40380 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
403a0 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
403c0 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
403e0 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[$
40400 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.=.$
40420 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.$
40440 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.(".................
40460 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(",",
40480 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(".....
404a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
404c0 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)...")");...
404e0 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)).{..
40500 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;.........
40520 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).==.
40540 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
40560 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
40580 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);.....}....../**.....
405a0 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
405c0 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.......*
405e0 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
40600 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
40620 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
40640 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
40660 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->
40680 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
406a0 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
406c0 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)).{.............
406e0 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
40700 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)...")";.........}.
40720 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
40740 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;.........}........
40760 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.(
40780 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)).{.......
407a0 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
407c0 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.{........
407e0 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";.........}.
40800 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
40820 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)).{.
40840 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,.
40860 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
40880 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.
408a0 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)).{..........
408c0 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..=."(";............
408e0 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
40900 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++).{................
40920 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).{..............
40940 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..=.",";........
40960 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 .............}..................
40980 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];
409a0 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 .................}..............
409c0 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
409e0 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..=.$
40a00 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;.............}...
40a20 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..=."]";.........
40a40 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
40a60 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..=.".
40a80 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
40aa0 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;.....}....../**.....
40ac0 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
40ae0 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".......*
40b00 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().....{.....
40b20 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);..
40b40 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).
40b60 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)).{...
40b80 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.=.";.....
40ba0 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
40bc0 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
40be0 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";.........}.....}....../**..
40c00 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
40c20 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.......
40c40 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
40c60 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......*.
40c80 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
40ca0 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
40cc0 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
40ce0 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.&
40d00 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).....{....
40d20 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
40d40 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
40d60 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);
40d80 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
40da0 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)).{............
40dc0 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
40de0 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
40e00 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
40e20 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.
40e40 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
40e60 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
40e80 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,.
40ea0 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......*
40ec0 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
40ee0 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
40f00 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
40f20 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.
40f40 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
40f60 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
40f80 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
40fa0 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.
40fc0 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
40fe0 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
41000 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
41020 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),......
41040 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
41060 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
41080 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
410a0 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
410c0 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
410e0 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)).{........
41100 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)
41120 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
41140 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
41160 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();.............}....
41180 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
411a0 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
411c0 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,.
411e0 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);...
41200 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))
41220 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;.
41240 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
41260 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
41280 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,.$
412a0 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)).{......
412c0 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
412e0 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
41300 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;.............}..
41320 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
41340 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->$
41360 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
41380 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
413a0 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..............
413c0 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
413e0 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.(!
41400 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).{.............
41420 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;........
41440 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
41460 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
41480 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
414a0 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.......*/....
414c0 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
414e0 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
41500 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
41520 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...
41540 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).{...
41560 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
41580 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
415a0 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,............................
415c0 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
415e0 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(
41600 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])).
41620 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->_
41640 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
41660 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.
41680 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
416a0 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,...
416c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
416e0 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,...........
41700 20 20 20 20 20 20 20 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 ...............................$
41720 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,.......................
41740 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,...
41760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
41780 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,........
417a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
417c0 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);.............}.........
417e0 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).{...............
41800 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;.
41820 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
41840 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
41860 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
41880 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
418a0 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,......................
418c0 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
418e0 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",...........
41900 20 20 20 20 20 20 20 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
41920 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);.............}.......
41940 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;.........}....
41960 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
41980 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,.
419a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
419c0 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
419e0 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 ",..............................
41a00 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);.....}....../**.
41a20 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.
41a40 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
41a60 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
41a80 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
41aa0 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
41ac0 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(
41ae0 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
41b00 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...
41b20 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
41b40 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
41b60 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;.........}
41b80 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;.....}.....
41ba0 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
41bc0 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
41be0 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
41c00 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
41c20 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
41c40 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->
41c60 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->
41c80 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
41ca0 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();........
41cc0 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();.....
41ce0 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;.....}.
41d00 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
41d20 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...
41d40 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.
41d60 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
41d80 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(
41da0 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->_
41dc0 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[
41de0 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;.............$
41e00 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...'.=.?';........
41e20 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).{.........
41e40 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->
41e60 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.'................
41e80 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
41ea0 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
41ec0 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.=.$
41ee0 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);....
41f00 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
41f20 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);...........
41f40 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)).{......
41f60 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;.........
41f80 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
41fa0 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
41fc0 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;.....}....../**.....
41fe0 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
42000 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..
42020 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
42040 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
42060 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.(
42080 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).{.............
420a0 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
420c0 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,......
420e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
42100 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);........
42120 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
42140 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.'...
42160 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();.
42180 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
421a0 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
421c0 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.$
421e0 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.(
42200 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.=>.$
42220 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->
42240 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-
42260 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();.........
42280 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();......
422a0 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;.....}.}..?>....
422c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
422e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42400 44 42 2d 31 2e 32 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.2/DB/IDEAS.................
42420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
42480 20 20 20 36 35 33 37 20 20 37 34 36 36 34 35 37 36 30 35 20 20 20 36 31 31 30 20 00 00 00 00 00 ...6537..7466457605...6110......
424a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
424c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
424e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42600 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).--------
42620 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.
42640 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
42660 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
42680 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
426a0 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
426c0 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
426e0 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
42700 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).---
42720 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
42740 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
42760 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.
42780 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.
427a0 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
427c0 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
427e0 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"...
42800 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).---
42820 2d 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
42840 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
42860 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.
42880 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
428a0 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
428c0 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
428e0 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
42900 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.
42920 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
42940 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
42960 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
42980 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
429a0 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
429c0 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.
429e0 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
42a00 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).----------------------
42a20 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.
42a40 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
42a60 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
42a80 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
42aa0 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
42ac0 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.
42ae0 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
42b00 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
42b20 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
42b40 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
42b60 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
42b80 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
42ba0 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
42bc0 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
42be0 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
42c00 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
42c20 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
42c40 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).----
42c60 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.
42c80 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
42ca0 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
42cc0 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
42ce0 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
42d00 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
42d20 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."
42d40 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
42d60 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
42d80 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
42da0 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....
42dc0 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
42de0 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)
42e00 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
42e20 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
42e40 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
42e60 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
42e80 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.
42ea0 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
42ec0 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).-----
42ee0 2d 2d 2d 2d 2d 2d 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
42f00 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
42f20 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
42f40 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
42f60 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
42f80 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.
42fa0 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.
42fc0 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
42fe0 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.=.
43000 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',.'
43020 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
43040 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
43060 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
43080 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
430a0 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.
430c0 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
430e0 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.(?,.?,.?)";
43100 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
43120 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
43140 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,.
43160 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
43180 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
431a0 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(
431c0 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').);
431e0 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
43200 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)
43220 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
43240 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
43260 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
43280 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
432a0 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
432c0 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
432e0 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
43300 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
43320 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
43340 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...
43360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
433e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43400 44 42 2d 31 2e 32 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.2/DB/MAINTAINERS...........
43420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
43480 20 20 20 31 31 33 31 20 20 37 34 36 36 34 35 37 36 30 35 20 20 20 37 30 31 36 20 00 00 00 00 00 ...1131..7466457605...7016......
434a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
434c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
434e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
435e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43600 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
43620 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
43640 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
43660 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.
43680 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
436a0 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
436c0 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
436e0 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
43700 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
43720 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
43740 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>....
43760 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
43780 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
437a0 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
437c0 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@
437e0 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
43800 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.
43820 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
43840 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>........
43860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 44 42 2d 31 2e 32 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.2/DB/STATUS................
43a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
43a80 20 20 20 33 34 34 36 20 20 37 34 36 36 34 35 37 36 30 35 20 20 20 36 33 30 32 20 00 00 00 00 00 ...3446..7466457605...6302......
43aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c00 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
43c20 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
43c40 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,.
43c60 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"
43c80 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
43ca0 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
43cc0 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.
43ce0 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
43d00 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
43d20 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...................
43d40 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....
43d60 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........
43d80 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
43da0 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
43dc0 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...
43de0 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
43e00 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....
43e20 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.
43e40 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
43e60 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..
43e80 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.
43ea0 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...
43ec0 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..
43ee0 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....
43f00 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...........
43f20 20 65 20 20 20 20 54 20 20 20 20 6e 20 20 20 20 6e 20 20 20 20 6e 20 20 20 20 45 20 20 20 20 54 .e....T....n....n....n....E....T
43f40 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....
43f60 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.
43f80 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.
43fa0 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..
43fc0 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
43fe0 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...
44000 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
44020 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....
44040 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.
44060 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
44080 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..
440a0 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.
440c0 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...
440e0 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..
44100 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....
44120 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
44140 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
44160 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
44180 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.................
441a0 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.|.
441c0 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........
441e0 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....
44200 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.....
44220 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
44240 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.
44260 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 ...............-....-....-....-.
44280 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
442a0 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............-....-....-..
442c0 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....
442e0 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............-....-...
44300 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
44320 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 ....-...........................
44340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
443a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
443c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
443e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44400 44 42 2d 31 2e 32 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.2/DB/TESTERS...............
44420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
44480 20 20 20 33 36 37 32 20 20 37 34 36 36 34 35 37 36 30 35 20 20 20 36 34 31 31 20 00 00 00 00 00 ...3672..7466457605...6411......
444a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
444c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
444e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
445a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
445c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
445e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44600 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.---------------
44620 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
44640 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
44660 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
44680 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.
446a0 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
446c0 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.#.
446e0 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
44700 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
44720 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
44740 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
44760 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
44780 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
447a0 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
447c0 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
447e0 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
44800 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>..
44820 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:
44840 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
44860 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/<
44880 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
448a0 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
448c0 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
448e0 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.----------------
44900 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 ................................
44920 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.-.
44940 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
44960 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
44980 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
449a0 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.....-
449c0 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 .....-.....-.....-.....-.....-..
449e0 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........
44a00 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 ........-.....-.....-.....-.....
44a20 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.....-.....-......-......
44a40 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................-..
44a60 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....
44a80 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
44aa0 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.....-.
44ac0 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 ....-.....-.....-.....-.....-...
44ae0 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.......
44b00 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 .......-.....-.....-.....-.....-
44b20 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.....-.....-......-.......
44b40 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.........-...
44b60 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 ..-.....-.....-.....-.....-.....
44b80 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
44ba0 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.......-.....-.....-..
44bc0 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....
44be0 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.....
44c00 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 ......-.....-.....-.....-.....-.
44c20 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.....-.....-......-.......-
44c40 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...............-....
44c60 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.....-.....-
44c80 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
44ca0 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...........-.....-.....-...
44cc0 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.....-.....-.....-.....-.....
44ce0 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
44d00 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.....-.....-.....-.....-..
44d20 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 ...-.....-.....-......-.......-.
44d40 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...........-....
44d60 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.....-.....-.....-.....-
44d80 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:
44da0 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.......
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 32 2f 44 42 2f 74 65 73 74 73 2f 64 62 5f 65 72 72 6f 72 2e 70 68 70 74 00 00 00 DB-1.2/DB/tests/db_error.phpt...
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
44e80 20 20 20 36 34 30 30 20 20 37 34 34 36 35 37 34 37 37 31 20 20 31 31 31 36 34 20 00 00 00 00 00 ...6400..7446574771..11164......
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 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 45 72 72 6f 72 2f 44 42 5f 57 61 72 6e 69 6e 67 20 74 65 73 --TEST--.DB_Error/DB_Warning.tes
45020 74 0a 2d 2d 53 4b 49 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 t.--SKIPIF--.<?php.if.(!@include
45040 28 22 44 42 2e 70 68 70 22 29 29 20 70 72 69 6e 74 20 22 73 6b 69 70 22 3b 20 3f 3e 0a 2d 2d 46 ("DB.php")).print."skip";.?>.--F
45060 49 4c 45 2d 2d 0a 3c 3f 70 68 70 20 2f 2f 20 2d 2a 2d 20 43 2b 2b 20 2d 2a 2d 0a 0a 2f 2f 20 54 ILE--.<?php.//.-*-.C++.-*-..//.T
45080 65 73 74 20 66 6f 72 3a 20 44 42 2e 70 68 70 0a 2f 2f 20 50 61 72 74 73 20 74 65 73 74 65 64 3a est.for:.DB.php.//.Parts.tested:
450a0 20 44 42 5f 45 72 72 6f 72 2c 20 44 42 5f 57 61 72 6e 69 6e 67 0a 0a 66 75 6e 63 74 69 6f 6e 20 .DB_Error,.DB_Warning..function.
450c0 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 65 72 72 6d test_error_handler($errno,.$errm
450e0 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 20 20 20 20 sg,.$file,.$line,.$vars).{......
45100 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 20 20 20 20 ...$errortype.=.array.(.........
45120 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 20 20 20 20 ........1...=>.."Error",........
45140 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 20 20 20 20 .........2...=>.."Warning",.....
45160 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 20 45 72 72 ............4...=>.."Parsing.Err
45180 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 20 22 4e 6f or",.................8...=>.."No
451a0 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 3e 20 20 22 tice",.................16..=>.."
451c0 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 20 33 32 20 Core.Error",.................32.
451e0 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 20 20 20 20 .=>.."Core.Warning",............
45200 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 2c 0a 20 20 .....64..=>.."Compile.Error",...
45220 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 6c 65 20 57 ..............128.=>.."Compile.W
45240 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 20 3d 3e 20 arning",.................256.=>.
45260 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 20 20 20 35 ."User.Error",.................5
45280 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 20 20 20 20 12.=>.."User.Warning",..........
452a0 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 0a 20 20 20 .......1024=>.."User.Notice"....
452c0 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 72 72 6f 72 .....);.........$prefix.=.$error
452e0 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 3d 20 62 61 type[$errno];.........$file.=.ba
45300 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 20 22 5c 6e sename($file);.........print."\n
45320 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 20 6c 69 6e $prefix:.$errmsg.in.$file.on.lin
45340 65 20 24 6c 69 6e 65 5c 6e 22 3b 0a 7d 0a 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 45 e.$line\n";.}..error_reporting(E
45360 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 5f 65 _ALL);.set_error_handler("test_e
45380 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 44 42 rror_handler");.require_once."DB
453a0 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 6e 74 .php";..print."testing.different
453c0 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 42 5f .error.codes...\n";.$e.=.new.DB_
453e0 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 22 5c Error();.print.$e->toString()."\
45400 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 72 6f n";.$e.=.new.DB_Error("test.erro
45420 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 3b 0a r");.print.$e->toString()."\n";.
45440 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 74 20 $e.=.new.DB_Error(DB_OK);.print.
45460 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 44 42 $e->toString()."\n";.$e.=.new.DB
45480 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 53 74 _Error(DB_ERROR);.print.$e->toSt
454a0 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 44 ring()."\n";.$e.=.new.DB_Error(D
454c0 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 74 72 B_ERROR_SYNTAX);.print.$e->toStr
454e0 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 44 42 ing()."\n";.$e.=.new.DB_Error(DB
45500 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 74 72 _ERROR_DIVZERO);.print.$e->toStr
45520 69 6e 67 28 29 2e 22 5c 6e 22 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 57 61 72 6e 69 6e 67 28 ing()."\n";.$e.=.new.DB_Warning(
45540 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 3b 0a 24 65 );.print.$e->toString()."\n";.$e
45560 20 3d 20 6e 65 77 20 44 42 5f 57 61 72 6e 69 6e 67 28 22 74 65 73 74 20 77 61 72 6e 69 6e 67 22 .=.new.DB_Warning("test.warning"
45580 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 3b 0a 24 65 );.print.$e->toString()."\n";.$e
455a0 20 3d 20 6e 65 77 20 44 42 5f 57 61 72 6e 69 6e 67 28 44 42 5f 57 41 52 4e 49 4e 47 5f 52 45 41 .=.new.DB_Warning(DB_WARNING_REA
455c0 44 5f 4f 4e 4c 59 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 D_ONLY);.print.$e->toString()."\
455e0 6e 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 6e 74 20 65 72 n";..print."testing.different.er
45600 72 6f 72 20 6d 6f 64 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 ror.modes...\n";.$e.=.new.DB_Err
45620 6f 72 28 44 42 5f 45 52 52 4f 52 2c 20 50 45 41 52 5f 45 52 52 4f 52 5f 50 52 49 4e 54 29 3b 20 or(DB_ERROR,.PEAR_ERROR_PRINT);.
45640 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 3b 0a 24 65 20 3d 20 print.$e->toString()."\n";.$e.=.
45660 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 2c 20 50 45 new.DB_Error(DB_ERROR_SYNTAX,.PE
45680 41 52 5f 45 52 52 4f 52 5f 54 52 49 47 47 45 52 29 3b 0a 0a 70 72 69 6e 74 20 22 74 65 73 74 69 AR_ERROR_TRIGGER);..print."testi
456a0 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..
456c0 2e 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 .\n";.$e.=.new.DB_Error(DB_ERROR
456e0 5f 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 2c 20 45 5f 55 _SYNTAX,.PEAR_ERROR_TRIGGER,.E_U
45700 53 45 52 5f 4e 4f 54 49 43 45 29 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 5f 45 72 72 6f 72 28 44 SER_NOTICE);.$e.=.new.DB_Error(D
45720 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 49 47 47 B_ERROR_SYNTAX,.PEAR_ERROR_TRIGG
45740 45 52 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 24 65 20 3d 20 6e 65 77 20 44 42 ER,.E_USER_WARNING);.$e.=.new.DB
45760 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 52 52 _Error(DB_ERROR_SYNTAX,.PEAR_ERR
45780 4f 52 5f 54 52 49 47 47 45 52 2c 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 29 3b 0a 0a 3f 3e 0a 2d OR_TRIGGER,.E_USER_ERROR);..?>.-
457a0 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 2d 0a 74 65 73 74 69 -GET--.--POST--.--EXPECT--.testi
457c0 6e 67 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 63 6f 64 65 73 2e 2e 2e 0a 5b 64 62 5f ng.different.error.codes....[db_
457e0 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 6f 77 error:.message="DB.Error:.unknow
45800 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 20 6c 65 76 n.error".code=-1.mode=return.lev
45820 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 5b 64 62 el=notice.prefix="".info=""].[db
45840 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 74 65 73 74 20 _error:.message="DB.Error:.test.
45860 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 20 6c 65 76 65 6c error".code=-1.mode=return.level
45880 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 5b 64 62 5f 65 =notice.prefix="".info=""].[db_e
458a0 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 6e 6f 20 65 72 72 6f rror:.message="DB.Error:.no.erro
458c0 72 22 20 63 6f 64 65 3d 31 20 6d 6f 64 65 3d 72 65 74 75 72 6e 20 6c 65 76 65 6c 3d 6e 6f 74 69 r".code=1.mode=return.level=noti
458e0 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a 5b 64 62 5f 65 72 72 6f 72 3a ce.prefix="".info=""].[db_error:
45900 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 75 6e 6b 6e 6f 77 6e 20 65 72 72 6f .message="DB.Error:.unknown.erro
45920 72 22 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 r".code=-1.mode=return.level=not
45940 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a 5b 64 62 5f 65 72 72 6f 72 ice.prefix="".info=""].[db_error
45960 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 73 79 6e 74 61 78 20 65 72 72 6f :.message="DB.Error:.syntax.erro
45980 72 22 20 63 6f 64 65 3d 2d 32 20 6d 6f 64 65 3d 72 65 74 75 72 6e 20 6c 65 76 65 6c 3d 6e 6f 74 r".code=-2.mode=return.level=not
459a0 69 63 65 20 70 72 65 66 69 78 3d 22 22 20 69 6e 66 6f 3d 22 22 5d 0a 5b 64 62 5f 65 72 72 6f 72 ice.prefix="".info=""].[db_error
459c0 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 45 72 72 6f 72 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 :.message="DB.Error:.division.by
459e0 20 7a 65 72 6f 22 20 63 6f 64 65 3d 2d 31 33 20 6d 6f 64 65 3d 72 65 74 75 72 6e 20 6c 65 76 65 .zero".code=-13.mode=return.leve
45a00 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 5b 64 62 5f l=notice.prefix="".info=""].[db_
45a20 77 61 72 6e 69 6e 67 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 57 61 72 6e 69 6e 67 3a 20 75 6e warning:.message="DB.Warning:.un
45a40 6b 6e 6f 77 6e 20 77 61 72 6e 69 6e 67 22 20 63 6f 64 65 3d 2d 31 30 30 30 20 6d 6f 64 65 3d 72 known.warning".code=-1000.mode=r
45a60 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
45a80 6f 3d 22 22 5d 0a 5b 64 62 5f 77 61 72 6e 69 6e 67 3a 20 6d 65 73 73 61 67 65 3d 22 44 42 20 57 o=""].[db_warning:.message="DB.W
45aa0 61 72 6e 69 6e 67 3a 20 74 65 73 74 20 77 61 72 6e 69 6e 67 22 20 63 6f 64 65 3d 30 20 6d 6f 64 arning:.test.warning".code=0.mod
45ac0 65 3d 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 e=return.level=notice.prefix="".
45ae0 69 6e 66 6f 3d 22 22 5d 0a 5b 64 62 5f 77 61 72 6e 69 6e 67 3a 20 6d 65 73 73 61 67 65 3d 22 44 info=""].[db_warning:.message="D
45b00 42 20 57 61 72 6e 69 6e 67 3a 20 72 65 61 64 20 6f 6e 6c 79 22 20 63 6f 64 65 3d 2d 31 30 30 31 B.Warning:.read.only".code=-1001
45b20 20 6d 6f 64 65 3d 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 .mode=return.level=notice.prefix
45b40 3d 22 22 20 69 6e 66 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 ="".info=""].testing.different.e
45b60 72 72 6f 72 20 6d 6f 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 rror.modes....DB.Error:.unknown.
45b80 65 72 72 6f 72 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 error[db_error:.message="DB.Erro
45ba0 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 70 r:.unknown.error".code=-1.mode=p
45bc0 72 69 6e 74 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 rint.level=notice.prefix="".info
45be0 3d 22 22 5d 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 =""]..User.Notice:.DB.Error:.syn
45c00 74 61 78 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 35 39 tax.error.in.PEAR.php.on.line.59
45c20 31 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 73 65 72 76 65 72 1.testing.different.error.server
45c40 69 74 69 65 73 2e 2e 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 ities.....User.Notice:.DB.Error:
45c60 20 73 79 6e 74 61 78 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 .syntax.error.in.PEAR.php.on.lin
45c80 65 20 35 39 31 0a 0a 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 e.591..User.Warning:.DB.Error:.s
45ca0 79 6e 74 61 78 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 yntax.error.in.PEAR.php.on.line.
45cc0 35 39 31 0a 0a 55 73 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 591..User.Error:.DB.Error:.synta
45ce0 78 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 35 39 31 0a x.error.in.PEAR.php.on.line.591.
45d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e00 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 62 5f 70 61 72 73 65 64 73 6e 2e 70 68 70 74 DB-1.2/DB/tests/db_parsedsn.phpt
45e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
45e80 20 20 31 33 37 34 35 20 20 37 34 34 31 31 30 34 36 31 34 20 20 31 31 36 36 30 20 00 00 00 00 00 ..13745..7441104614..11660......
45ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46000 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
46020 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 22 44 42 2e 70 68 PIF--.<?php.if.(!@include("DB.ph
46040 70 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 p")).print."skip";.?>.--FILE--.<
46060 3f 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 ?php.//.-*-.C++.-*-..//.Test.for
46080 3a 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 28 29 0a 0a 69 6e 63 6c 75 64 65 5f 6f 6e 63 65 20 64 :.DB::parseDSN()..include_once.d
460a0 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 22 2f 2e 2e 2f 2e 2e 2f 44 42 2e 70 68 70 22 irname(__FILE__)."/../../DB.php"
460c0 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 28 24 64 73 6e 29 20 7b 0a 20 20 20 20 65 63 68 ;..function.test($dsn).{.....ech
460e0 6f 20 22 44 53 4e 3a 20 24 64 73 6e 5c 6e 22 3b 0a 20 20 20 20 70 72 69 6e 74 5f 72 28 44 42 3a o."DSN:.$dsn\n";.....print_r(DB:
46100 3a 70 61 72 73 65 44 53 4e 28 24 64 73 6e 29 29 3b 0a 7d 0a 0a 70 72 69 6e 74 20 22 74 65 73 74 :parseDSN($dsn));.}..print."test
46120 69 6e 67 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 2e 2e 2e 5c 6e 5c 6e 22 3b 0a 0a 74 65 73 74 28 ing.DB::parseDSN...\n\n";..test(
46140 22 6d 79 73 71 6c 22 29 3b 0a 74 65 73 74 28 22 6f 64 62 63 28 6d 73 73 71 6c 29 22 29 3b 0a 74 "mysql");.test("odbc(mssql)");.t
46160 65 73 74 28 22 6d 79 73 71 6c 3a 2f 2f 6c 6f 63 61 6c 68 6f 73 74 22 29 3b 0a 74 65 73 74 28 22 est("mysql://localhost");.test("
46180 6d 79 73 71 6c 3a 2f 2f 72 65 6d 6f 74 65 2e 68 6f 73 74 2e 63 6f 6d 2f 64 62 22 29 3b 0a 74 65 mysql://remote.host.com/db");.te
461a0 73 74 28 22 6f 63 69 38 3a 2f 2f 73 79 73 74 65 6d 3a 6d 61 6e 61 67 65 72 40 22 29 3b 0a 74 65 st("oci8://system:manager@");.te
461c0 73 74 28 22 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 22 29 3b st("oci8://user:pass@tns-name");
461e0 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 74 63 70 .test("odbc(solid)://foo:bar@tcp
46200 2b 6c 6f 63 61 6c 68 6f 73 74 2b 31 33 31 33 22 29 3b 20 20 2f 2f 20 64 65 70 72 65 63 61 74 65 +localhost+1313");..//.deprecate
46220 64 0a 74 65 73 74 28 22 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 75 6e 69 78 2b 6c 6f 63 61 6c 68 d.test("pgsql://user@unix+localh
46240 6f 73 74 2f 70 65 61 72 22 29 3b 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 65 70 72 65 63 61 74 ost/pear");..........//.deprecat
46260 65 64 0a 74 65 73 74 28 22 69 62 61 73 65 3a 2f 2f 75 73 65 72 25 34 30 64 6f 6d 61 69 6e 3a 70 ed.test("ibase://user%40domain:p
46280 61 73 73 77 6f 72 64 40 68 6f 73 74 22 29 3b 0a 74 65 73 74 28 22 69 62 61 73 65 3a 2f 2f 75 73 assword@host");.test("ibase://us
462a0 65 72 40 64 6f 6d 61 69 6e 3a 70 61 73 73 40 77 6f 72 64 40 2f 64 61 74 61 62 61 73 65 22 29 3b er@domain:pass@word@/database");
462c0 20 20 20 2f 2f 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 65 64 0a 74 65 73 74 28 22 69 66 78 3a 2f ...//.also.supported.test("ifx:/
462e0 2f 75 73 65 72 40 64 6f 6d 61 69 6e 3a 70 61 73 73 40 77 6f 72 64 40 68 6f 73 74 2e 63 6f 6d 2f /user@domain:pass@word@host.com/
46300 2f 75 73 72 2f 64 62 2f 67 65 6e 65 72 61 6c 2e 64 62 22 29 3b 0a 74 65 73 74 28 27 69 66 78 3a /usr/db/general.db");.test('ifx:
46320 2f 2f 72 65 6d 6f 74 65 2e 68 6f 73 74 2e 63 6f 6d 2f 63 3a 5c 77 69 6e 64 6f 77 73 5c 6d 79 2e //remote.host.com/c:\windows\my.
46340 64 62 27 29 3b 0a 0a 2f 2f 20 6e 65 77 20 66 6f 72 6d 61 74 73 0a 74 65 73 74 28 22 6f 64 62 63 db');..//.new.formats.test("odbc
46360 28 73 6f 6c 69 64 29 3a 2f 2f 66 6f 6f 3a 62 61 72 40 6c 6f 63 61 6c 68 6f 73 74 3a 31 33 31 33 (solid)://foo:bar@localhost:1313
46380 22 29 3b 0a 74 65 73 74 28 22 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 75 6e 69 78 28 29 2f 70 65 ");.test("pgsql://user@unix()/pe
463a0 61 72 22 29 3b 0a 74 65 73 74 28 22 6d 79 73 71 6c 3a 2f 2f 75 73 65 72 40 75 6e 69 78 28 2f 70 ar");.test("mysql://user@unix(/p
463c0 61 74 68 2f 74 6f 2f 73 6f 63 6b 65 74 29 2f 70 65 61 72 22 29 3b 0a 74 65 73 74 28 22 70 67 73 ath/to/socket)/pear");.test("pgs
463e0 71 6c 3a 2f 2f 75 73 65 72 40 74 63 70 28 29 2f 70 65 61 72 22 29 3b 0a 74 65 73 74 28 22 70 67 ql://user@tcp()/pear");.test("pg
46400 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 22 29 3b sql://user@tcp(somehost)/pear");
46420 0a 74 65 73 74 28 22 70 67 73 71 6c 3a 2f 2f 75 73 65 72 3a 70 61 73 73 40 77 6f 72 64 40 74 63 .test("pgsql://user:pass@word@tc
46440 70 28 73 6f 6d 65 68 6f 73 74 3a 37 37 37 37 29 2f 70 65 61 72 22 29 3b 0a 0a 2f 2f 20 73 70 65 p(somehost:7777)/pear");..//.spe
46460 63 69 61 6c 20 62 61 63 6b 65 6e 64 20 6f 70 74 69 6f 6e 73 0a 74 65 73 74 28 27 69 62 61 73 65 cial.backend.options.test('ibase
46480 3a 2f 2f 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 ://user:pass@localhost//var/lib/
464a0 64 62 61 73 65 2e 64 62 66 3f 72 6f 6c 65 3d 66 6f 6f 27 29 3b 0a 74 65 73 74 28 27 64 62 61 73 dbase.dbf?role=foo');.test('dbas
464c0 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 61 72 27 29 3b 0a 3f e://@/?role=foo&dialect=bar');.?
464e0 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 2d 0a 74 65 >.--GET--.--POST--.--EXPECT--.te
46500 73 74 69 6e 67 20 44 42 3a 3a 70 61 72 73 65 44 53 4e 2e 2e 2e 0a 0a 44 53 4e 3a 20 6d 79 73 71 sting.DB::parseDSN.....DSN:.mysq
46520 6c 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 6d 79 73 71 6c l.Array.(.....[phptype].=>.mysql
46540 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 6d 79 73 71 6c 0a 20 20 20 20 5b 75 73 .....[dbsyntax].=>.mysql.....[us
46560 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 20 ername].=>.....[password].=>....
46580 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e .[protocol].=>.....[hostspec].=>
465a0 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 0a 20 .....[port].=>.....[socket].=>..
465c0 20 20 20 5b 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 6d 73 73 ...[database].=>.).DSN:.odbc(mss
465e0 71 6c 29 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 6f 64 62 ql).Array.(.....[phptype].=>.odb
46600 63 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 6d 73 73 71 6c 0a 20 20 20 20 5b 75 c.....[dbsyntax].=>.mssql.....[u
46620 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].=>...
46640 20 20 5b 70 72 6f 74 6f 63 6f 6c 5d 20 3d 3e 0a 20 20 20 20 5b 68 6f 73 74 73 70 65 63 5d 20 3d ..[protocol].=>.....[hostspec].=
46660 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 3e 0a >.....[port].=>.....[socket].=>.
46680 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 2f ....[database].=>.).DSN:.mysql:/
466a0 2f 6c 6f 63 61 6c 68 6f 73 74 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d /localhost.Array.(.....[phptype]
466c0 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 73 71 .=>.mysql.....[dbsyntax].=>.mysq
466e0 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 6f 72 l.....[username].=>.....[passwor
46700 64 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 d].=>.....[protocol].=>.tcp.....
46720 5b 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 6c 6f 63 61 6c 68 6f 73 74 0a 20 20 20 20 5b 70 6f 72 [hostspec].=>.localhost.....[por
46740 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 64 61 74 61 62 t].=>.....[socket].=>.....[datab
46760 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 4e 3a 20 6d 79 73 71 6c 3a 2f 2f 72 65 6d 6f 74 65 2e 68 6f ase].=>.).DSN:.mysql://remote.ho
46780 73 74 2e 63 6f 6d 2f 64 62 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 70 65 5d 20 st.com/db.Array.(.....[phptype].
467a0 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 73 71 6c =>.mysql.....[dbsyntax].=>.mysql
467c0 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
467e0 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.....[
46800 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....
46820 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].=>.....[
46840 64 61 74 61 62 61 73 65 5d 20 3d 3e 20 64 62 0a 29 0a 44 53 4e 3a 20 6f 63 69 38 3a 2f 2f 73 79 database].=>.db.).DSN:.oci8://sy
46860 73 74 65 6d 3a 6d 61 6e 61 67 65 72 40 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 79 stem:manager@.Array.(.....[phpty
46880 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 20 3d 3e 20 6f 63 pe].=>.oci8.....[dbsyntax].=>.oc
468a0 69 38 0a 20 20 20 20 5b 75 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 73 79 73 74 65 6d 0a 20 20 20 20 i8.....[username].=>.system.....
468c0 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 6d 61 6e 61 67 65 72 0a 20 20 20 20 5b 70 72 6f 74 6f [password].=>.manager.....[proto
468e0 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 3d 3e 0a 20 20 col].=>.tcp.....[hostspec].=>...
46900 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 0a 20 20 20 20 ..[port].=>.....[socket].=>.....
46920 5b 64 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 4e 3a 20 6f 63 69 38 3a 2f 2f 75 73 65 72 [database].=>.).DSN:.oci8://user
46940 3a 70 61 73 73 40 74 6e 73 2d 6e 61 6d 65 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 5b 70 68 70 74 :pass@tns-name.Array.(.....[phpt
46960 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 20 3d 3e 20 6f ype].=>.oci8.....[dbsyntax].=>.o
46980 63 69 38 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 20 5b ci8.....[username].=>.user.....[
469a0 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 6f 6c 5d password].=>.pass.....[protocol]
469c0 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 74 6e 73 2d 6e 61 .=>.tcp.....[hostspec].=>.tns-na
469e0 6d 65 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 me.....[port].=>.....[socket].=>
46a00 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 6f 64 62 63 28 73 .....[database].=>.).DSN:.odbc(s
46a20 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
46a40 31 33 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 6f 64 62 63 13.Array.(.....[phptype].=>.odbc
46a60 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 73 6f 6c 69 64 0a 20 20 20 20 5b 75 73 .....[dbsyntax].=>.solid.....[us
46a80 65 72 6e 61 6d 65 5d 20 3d 3e 20 66 6f 6f 0a 20 20 20 20 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e ername].=>.foo.....[password].=>
46aa0 20 62 61 72 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 .bar.....[protocol].=>.tcp.....[
46ac0 68 6f 73 74 73 70 65 63 5d 20 3d 3e 20 6c 6f 63 61 6c 68 6f 73 74 20 31 33 31 33 0a 20 20 20 20 hostspec].=>.localhost.1313.....
46ae0 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 64 [port].=>.....[socket].=>.....[d
46b00 61 74 61 62 61 73 65 5d 20 3d 3e 0a 29 0a 44 53 4e 3a 20 70 67 73 71 6c 3a 2f 2f 75 73 65 72 40 atabase].=>.).DSN:.pgsql://user@
46b20 75 6e 69 78 2b 6c 6f 63 61 6c 68 6f 73 74 2f 70 65 61 72 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 unix+localhost/pear.Array.(.....
46b40 5b 70 68 70 74 79 70 65 5d 20 3d 3e 20 70 67 73 71 6c 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 [phptype].=>.pgsql.....[dbsyntax
46b60 5d 20 3d 3e 20 70 67 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 ].=>.pgsql.....[username].=>.use
46b80 72 0a 20 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 r.....[password].=>.....[protoco
46ba0 6c 5d 20 3d 3e 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 l].=>.unix.....[hostspec].=>....
46bc0 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 20 6c 6f 63 61 6c .[port].=>.....[socket].=>.local
46be0 68 6f 73 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 53 host.....[database].=>.pear.).DS
46c00 4e 3a 20 69 62 61 73 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 N:.ibase://user%40domain:passwor
46c20 64 40 68 6f 73 74 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 d@host.Array.(.....[phptype].=>.
46c40 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 62 61 73 65 0a 20 20 ibase.....[dbsyntax].=>.ibase...
46c60 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 69 6e 0a 20 20 20 20 ..[username].=>.user@domain.....
46c80 5b 70 61 73 73 77 6f 72 64 5d 20 3d 3e 20 70 61 73 73 77 6f 72 64 0a 20 20 20 20 5b 70 72 6f 74 [password].=>.password.....[prot
46ca0 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 3d 3e 20 68 ocol].=>.tcp.....[hostspec].=>.h
46cc0 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 5d 20 3d ost.....[port].=>.....[socket].=
46ce0 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 69 62 61 73 65 >.....[database].=>.).DSN:.ibase
46d00 3a 2f 2f 75 73 65 72 40 64 6f 6d 61 69 6e 3a 70 61 73 73 40 77 6f 72 64 40 2f 64 61 74 61 62 61 ://user@domain:pass@word@/databa
46d20 73 65 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 69 62 61 73 se.Array.(.....[phptype].=>.ibas
46d40 65 0a 20 20 20 20 5b 64 62 73 79 6e 74 61 78 5d 20 3d 3e 20 69 62 61 73 65 0a 20 20 20 20 5b 75 e.....[dbsyntax].=>.ibase.....[u
46d60 73 65 72 6e 61 6d 65 5d 20 3d 3e 20 75 73 65 72 40 64 6f 6d 61 69 6e 0a 20 20 20 20 5b 70 61 73 sername].=>.user@domain.....[pas
46d80 73 77 6f 72 64 5d 20 3d 3e 20 70 61 73 73 40 77 6f 72 64 0a 20 20 20 20 5b 70 72 6f 74 6f 63 6f sword].=>.pass@word.....[protoco
46da0 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 0a 20 20 20 20 l].=>.tcp.....[hostspec].=>.....
46dc0 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 64 [port].=>.....[socket].=>.....[d
46de0 61 74 61 62 61 73 65 5d 20 3d 3e 20 64 61 74 61 62 61 73 65 0a 29 0a 44 53 4e 3a 20 69 66 78 3a atabase].=>.database.).DSN:.ifx:
46e00 2f 2f 75 73 65 72 40 64 6f 6d 61 69 6e 3a 70 61 73 73 40 77 6f 72 64 40 68 6f 73 74 2e 63 6f 6d //user@domain:pass@word@host.com
46e20 2f 2f 75 73 72 2f 64 62 2f 67 65 6e 65 72 61 6c 2e 64 62 0a 41 72 72 61 79 0a 28 0a 20 20 20 20 //usr/db/general.db.Array.(.....
46e40 5b 70 68 70 74 79 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 [phptype].=>.ifx.....[dbsyntax].
46e60 3d 3e 20 69 66 78 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 =>.ifx.....[username].=>.user@do
46e80 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 40 77 6f 72 64 main.....[password].=>.pass@word
46ea0 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
46ec0 73 70 65 63 5d 20 3d 3e 20 68 6f 73 74 2e 63 6f 6d 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a spec].=>.host.com.....[port].=>.
46ee0 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].=
46f00 3e 20 2f 75 73 72 2f 64 62 2f 67 65 6e 65 72 61 6c 2e 64 62 0a 29 0a 44 53 4e 3a 20 69 66 78 3a >./usr/db/general.db.).DSN:.ifx:
46f20 2f 2f 72 65 6d 6f 74 65 2e 68 6f 73 74 2e 63 6f 6d 2f 63 3a 5c 77 69 6e 64 6f 77 73 5c 6d 79 2e //remote.host.com/c:\windows\my.
46f40 64 62 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 69 66 78 0a db.Array.(.....[phptype].=>.ifx.
46f60 20 20 20 20 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 ....[dbsyntax].=>.ifx.....[usern
46f80 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 20 20 5b 70 ame].=>.....[password].=>.....[p
46fa0 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 3d rotocol].=>.tcp.....[hostspec].=
46fc0 3e 20 72 65 6d 6f 74 65 2e 68 6f 73 74 2e 63 6f 6d 0a 20 20 20 20 5b 70 6f 72 74 5d 20 3d 3e 0a >.remote.host.com.....[port].=>.
46fe0 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].=
47000 3e 20 63 3a 5c 77 69 6e 64 6f 77 73 5c 6d 79 2e 64 62 0a 29 0a 44 53 4e 3a 20 6f 64 62 63 28 73 >.c:\windows\my.db.).DSN:.odbc(s
47020 6f 6c 69 64 29 3a 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 olid)://foo:bar@localhost:1313.A
47040 72 72 61 79 0a 28 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 rray.(.....[phptype].=>.odbc....
47060 20 5b 64 62 73 79 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 .[dbsyntax].=>.solid.....[userna
47080 6d 65 5d 20 3d 3e 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 me].=>.foo.....[password].=>.bar
470a0 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
470c0 73 70 65 63 5d 20 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 spec].=>.localhost.....[port].=>
470e0 20 31 33 31 33 0a 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 .1313.....[socket].=>.....[datab
47100 61 73 65 5d 20 3d 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 ase].=>.).DSN:.pgsql://user@unix
47120 28 29 2f 70 65 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 ()/pear.Array.(.....[phptype].=>
47140 20 70 67 73 71 6c 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 .pgsql.....[dbsyntax].=>.pgsql..
47160 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 20 5b 70 61 73 73 77 ...[username].=>.user.....[passw
47180 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 20 75 6e 69 78 0a 20 ord].=>.....[protocol].=>.unix..
471a0 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 74 5d 20 3d 3e 0a 20 ...[hostspec].=>.....[port].=>..
471c0 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].=>
471e0 20 70 65 61 72 0a 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 .pear.).DSN:.mysql://user@unix(/
47200 70 61 74 68 2f 74 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 path/to/socket)/pear.Array.(....
47220 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
47240 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 20 75 73 x].=>.mysql.....[username].=>.us
47260 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 5b 70 72 6f 74 6f 63 er.....[password].=>.....[protoc
47280 6f 6c 5d 20 3d 3e 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 ol].=>.unix.....[hostspec].=>...
472a0 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 20 2f 70 61 74 ..[port].=>.....[socket].=>./pat
472c0 68 2f 74 6f 2f 73 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 h/to/socket.....[database].=>.pe
472e0 61 72 0a 29 0a 44 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 ar.).DSN:.pgsql://user@tcp()/pea
47300 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
47320 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
47340 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].=
47360 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 68 6f 73 >.....[protocol].=>.tcp.....[hos
47380 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 63 tspec].=>.....[port].=>.....[soc
473a0 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 29 ket].=>.....[database].=>.pear.)
473c0 0a 44 53 4e 3a 20 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 .DSN:.pgsql://user@tcp(somehost)
473e0 2f 70 65 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 70 /pear.Array.(.....[phptype].=>.p
47400 67 73 71 6c 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 gsql.....[dbsyntax].=>.pgsql....
47420 20 5b 75 73 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 .[username].=>.user.....[passwor
47440 64 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 d].=>.....[protocol].=>.tcp.....
47460 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
47480 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 64 61 74 61 62 61 ].=>.....[socket].=>.....[databa
474a0 73 65 5d 20 3d 3e 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 se].=>.pear.).DSN:.pgsql://user:
474c0 70 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 pass@word@tcp(somehost:7777)/pea
474e0 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
47500 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
47520 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].=
47540 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
47560 70 0a 20 20 20 20 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 p.....[hostspec].=>.somehost....
47580 20 5b 70 6f 72 74 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 .[port].=>.7777.....[socket].=>.
475a0 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 69 62 ....[database].=>.pear.).DSN:.ib
475c0 61 73 65 3a 2f 2f 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 ase://user:pass@localhost//var/l
475e0 69 62 2f 64 62 61 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 ib/dbase.dbf?role=foo.Array.(...
47600 20 20 5b 70 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 ..[phptype].=>.ibase.....[dbsynt
47620 61 78 5d 20 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 ax].=>.ibase.....[username].=>.u
47640 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 20 5b ser.....[password].=>.pass.....[
47660 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].
47680 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 0a 20 20 20 20 5b =>.localhost.....[port].=>.....[
476a0 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 20 2f 76 61 socket].=>.....[database].=>./va
476c0 72 2f 6c 69 62 2f 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 r/lib/dbase.dbf.....[role].=>.fo
476e0 6f 0a 29 0a 44 53 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 o.).DSN:.dbase://@/?role=foo&dia
47700 6c 65 63 74 3d 62 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 lect=bar.Array.(.....[phptype].=
47720 3e 20 64 62 61 73 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 >.dbase.....[dbsyntax].=>.dbase.
47740 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 5d ....[username].=>.....[password]
47760 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 68 .=>.....[protocol].=>.tcp.....[h
47780 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
477a0 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 20 20 20 20 ocket].=>.....[database].=>.....
477c0 5b 72 6f 6c 65 5d 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 [role].=>.foo.....[dialect].=>.b
477e0 61 72 0a 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 ar.)............................
47800 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 62 5f 66 61 63 74 6f 72 79 2e 70 68 70 74 00 DB-1.2/DB/tests/db_factory.phpt.
47820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
47880 20 20 20 32 31 34 33 20 20 37 34 34 31 31 30 34 36 31 34 20 20 31 31 34 35 36 20 00 00 00 00 00 ...2143..7441104614..11456......
478a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
478c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
478e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
479a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
479c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
479e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47a00 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
47a20 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
47a40 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--.<?
47a60 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:
47a80 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
47aa0 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.
47ac0 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
47ae0 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",.
47b00 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
47b20 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".)
47b40 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
47b60 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)).{
47b80 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:.";...
47ba0 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);....
47bc0 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
47be0 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()."\
47c00 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:
47c20 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";.....}.
47c40 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-
47c60 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
47c80 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
47ca0 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
47cc0 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).
47ce0 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:
47d00 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)
47d20 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
47d40 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
47d60 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:
47d80 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
47da0 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
47dc0 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
47de0 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
47e00 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
47e20 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:
47e40 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
47e60 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)..............................
47e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48000 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 62 5f 69 73 6d 61 6e 69 70 2e 70 68 70 74 00 DB-1.2/DB/tests/db_ismanip.phpt.
48020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
48080 20 20 20 32 32 36 31 20 20 37 34 34 31 31 30 34 36 31 34 20 20 31 31 34 35 30 20 00 00 00 00 00 ...2261..7441104614..11450......
480a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
480c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
480e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
481a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
481c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
481e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48200 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
48220 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
48240 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--.<?
48260 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:
48280 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
482a0 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
482c0 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
482e0 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+
48300 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
48320 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
48340 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("
48360 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
48380 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
483a0 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.*.
483c0 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
483e0 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
48400 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
48420 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
48440 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
48460 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
48480 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("
484a0 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
484c0 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
484e0 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");.
48500 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
48520 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");.
48540 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
48560 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
48580 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.
485a0 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
485c0 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
485e0 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
48600 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
48620 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
48640 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
48660 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.
48680 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
486a0 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................
486c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
486e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
487a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
487c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
487e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48800 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 62 5f 65 72 72 6f 72 32 2e 70 68 70 74 00 00 DB-1.2/DB/tests/db_error2.phpt..
48820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
48880 20 20 20 35 31 32 33 20 20 37 34 34 36 35 37 34 37 37 32 20 20 31 31 32 35 30 20 00 00 00 00 00 ...5123..7446574772..11250......
488a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
488c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
488e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
489a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
489c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
489e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48a00 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
48a20 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
48a40 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
48a60 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
48a80 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=
48aa0 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
48ac0 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."
48ae0 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
48b00 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.{....
48b20 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).{.......
48b40 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
48b60 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";.....
48b80 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(
48ba0 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,.$
48bc0 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
48be0 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
48c00 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
48c20 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...=>.
48c40 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",...............
48c60 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",.............
48c80 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",.......
48ca0 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"
48cc0 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
48ce0 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.=
48d00 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",...........
48d20 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",.....
48d40 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
48d60 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
48d80 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
48da0 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];......
48dc0 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);.....
48de0 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.$
48e00 66 69 6c 65 20 6f 6e 20 6c 69 6e 65 20 24 6c 69 6e 65 5c 6e 22 3b 0a 7d 0a 0a 24 6f 62 6a 20 3d file.on.line.$line\n";.}..$obj.=
48e20 20 6e 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 .new.myclass;..$dbh.=.DB::factor
48e40 79 28 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 y("mysql");..print."default:.";.
48e60 24 65 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 $e.=.$dbh->raiseError("return.te
48e80 73 74 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 sting.error");.print.$e->toStrin
48ea0 67 28 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 g()..."\n";..print."global.defau
48ec0 6c 74 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 lt:.";.PEAR::setErrorHandling(PE
48ee0 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 32 22 29 3b 0a 24 AR_ERROR_CALLBACK,."myfunc2");.$
48f00 65 20 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 e.=.$dbh->raiseError("global.def
48f20 61 75 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 ault.test");..$dbh->setErrorHand
48f40 6c 69 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 ling(PEAR_ERROR_PRINT);.print."m
48f60 6f 64 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 ode=print:.";.$e.=.$dbh->raiseEr
48f80 72 6f 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 ror("print.testing.error");.prin
48fa0 74 20 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 t."\n";..$dbh->setErrorHandling(
48fc0 50 45 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 PEAR_ERROR_CALLBACK,."myfunc");.
48fe0 70 72 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 print."mode=function.callback:."
49000 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 66 75 6e 63 74 69 6f ;.$e.=.$dbh->raiseError("functio
49020 6e 20 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 n.callback.testing.error");..$db
49040 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 4f 52 5f 43 h->setErrorHandling(PEAR_ERROR_C
49060 41 4c 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 ALLBACK,.array($obj,."myfunc"));
49080 0a 70 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 .print."mode=object.callback:.";
490a0 0a 24 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 .$e.=.$dbh->raiseError("object.c
490c0 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 73 65 74 5f 65 72 allback.testing.error");..set_er
490e0 72 6f 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 ror_handler("test_error_handler"
49100 29 3b 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 );.$dbh->setErrorHandling(PEAR_E
49120 52 52 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 RROR_TRIGGER);.print."mode=trigg
49140 65 72 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 er:.";.$e.=.$dbh->raiseError("tr
49160 69 67 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 igger.testing.error");..?>.--EXP
49180 45 43 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 ECT--.default:.[db_error:.messag
491a0 65 3d 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 e="DB.Error:.return.testing.erro
491c0 72 22 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 r".code=-1.mode=return.level=not
491e0 69 63 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 ice.prefix="".info=""].global.de
49200 66 61 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 fault:.myfunc2.here,.obj=[db_err
49220 6f 72 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 or:.message="DB.Error:.global.de
49240 66 61 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 fault.test".code=-1.mode=callbac
49260 6b 20 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 k.callback=myfunc2.prefix="".inf
49280 6f 3d 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 o=""].mode=print:.DB.Error:.prin
492a0 74 20 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 t.testing.error.mode=function.ca
492c0 6c 6c 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 llback:.myfunc.here,.obj=[db_err
492e0 6f 72 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 or:.message="DB.Error:.function.
49300 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 3d 2d 31 20 callback.testing.error".code=-1.
49320 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 66 75 6e 63 20 70 72 mode=callback.callback=myfunc.pr
49340 65 66 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 efix="".info=""].mode=object.cal
49360 6c 62 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 lback:.myclass::myfunc.here,.obj
49380 3d 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 6f =[db_error:.message="DB.Error:.o
493a0 62 6a 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 bject.callback.testing.error".co
493c0 64 65 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 de=-1.mode=callback.callback=myc
493e0 6c 61 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 lass::myfunc.prefix="".info=""].
49400 6d 6f 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 mode=trigger:.User.Notice:.DB.Er
49420 72 6f 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 ror:.trigger.testing.error.in.PE
49440 41 52 2e 70 68 70 20 6f 6e 20 6c 69 6e 65 20 35 39 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 AR.php.on.line.591..............
49460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 36 70 72 65 70 65 78 65 63 2e DB-1.2/DB/tests/oci8/06prepexec.
49620 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............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
49680 20 20 20 20 34 36 31 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 32 31 34 34 20 00 00 00 00 00 ....461..7461200442..12144......
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 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
49820 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(
49840 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
49860 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
49880 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-
498a0 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
498c0 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
498e0 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
49900 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
49920 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.-.................
49940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
499a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
499c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
499e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49a00 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 38 61 66 66 65 63 74 65 64 72 DB-1.2/DB/tests/oci8/08affectedr
49a20 6f 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 ows.phpt........................
49a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
49a80 20 20 20 31 34 30 33 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 33 30 32 34 20 00 00 00 00 00 ...1403..7461200442..13024......
49aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49c00 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
49c20 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
49c40 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
49c60 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
49c80 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
49ca0 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
49cc0 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(
49ce0 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
49d00 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());
49d20 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
49d40 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
49d60 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->
49d80 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
49da0 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.
49dc0 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())
49de0 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
49e00 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
49e20 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.(
49e40 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->
49e60 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
49e80 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
49ea0 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
49ec0 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
49ee0 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
49f00 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..............................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 DB-1.2/DB/tests/oci8/09numrows.p
4a020 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.............................
4a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4a080 20 20 20 31 32 33 32 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 32 30 36 33 20 00 00 00 00 00 ...1232..7461200442..12063......
4a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a200 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.-
4a220 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.
4a240 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.
4a260 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.
4a280 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);.$
4a2a0 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
4a2c0 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
4a2e0 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
4a300 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
4a320 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
4a340 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"
4a360 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-
4a380 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
4a3a0 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.
4a3c0 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
4a3e0 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
4a400 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:.
4a420 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:
4a440 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
4a460 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
4a480 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.......
4a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a600 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 31 33 6c 69 6d 69 74 2e 70 68 70 DB-1.2/DB/tests/oci8/13limit.php
4a620 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...............................
4a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4a680 20 20 20 31 35 31 35 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 31 34 36 36 20 00 00 00 00 00 ...1515..7461200442..11466......
4a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a800 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
4a820 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
4a840 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
4a860 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
4a880 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:.
4a8a0 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
4a8c0 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
4a8e0 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.-
4a900 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
4a920 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
4a940 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.||.
4a960 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.====
4a980 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
4a9a0 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.
4a9c0 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
4a9e0 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.-
4aa00 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.======
4aa20 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.
4aa40 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
4aa60 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
4aa80 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.
4aaa0 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.-.
4aac0 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
4aae0 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
4ab00 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.=======.
4ab20 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
4ab40 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....................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 35 73 65 71 75 65 6e 63 65 73 DB-1.2/DB/tests/oci8/05sequences
4ac20 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...........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4ac80 20 20 20 20 34 31 31 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 32 33 31 36 20 00 00 00 00 00 ....411..7461200442..12316......
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 73 65 71 75 65 6e 63 65 73 0a 2d 2d 53 4b --TEST--.DB_oci8::sequences.--SK
4ae20 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
4ae40 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
4ae60 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
4ae80 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";.?>.--
4aea0 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
4aec0 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
4aee0 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
4af00 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........................
4af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 37 65 72 72 6f 72 6e 61 74 69 DB-1.2/DB/tests/oci8/07errornati
4b020 76 65 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 ve.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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4b080 20 20 20 20 33 36 36 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 32 36 37 36 20 00 00 00 00 00 ....366..7461200442..12676......
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 65 72 72 6f 72 4e 61 74 69 76 65 20 74 65 --TEST--.DB_oci8::errorNative.te
4b220 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
4b240 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";.?
4b260 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
4b280 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
4b2a0 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
4b2c0 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().
4b2e0 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--...........
4b300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b400 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 DB-1.2/DB/tests/oci8/01connect.p
4b420 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.............................
4b440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4b480 20 20 20 20 34 34 35 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 31 37 37 32 20 00 00 00 00 00 ....445..7354434371..11772......
4b4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.-
4b620 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.
4b640 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.
4b660 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
4b680 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
4b6a0 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->
4b6c0 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.
4b6e0 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--
4b700 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
4b720 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............................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 31 30 65 72 72 6f 72 6d 61 70 2e DB-1.2/DB/tests/oci8/10errormap.
4b820 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............................
4b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4b880 20 20 20 31 32 37 35 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 32 31 37 37 20 00 00 00 00 00 ...1275..7461200442..12177......
4b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ba00 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.
4ba20 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
4ba40 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
4ba60 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
4ba80 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";.
4baa0 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.
4bac0 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:
4bae0 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
4bb00 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
4bb20 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
4bb40 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.
4bb60 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
4bb80 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.
4bba0 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
4bbc0 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..
4bbe0 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
4bc00 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
4bc20 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
4bc40 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
4bc60 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
4bc80 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
4bca0 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....
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 DB-1.2/DB/tests/oci8/04numcols.p
4be20 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.............................
4be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4be60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4be80 20 20 20 20 32 34 32 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 32 30 30 34 20 00 00 00 00 00 ....242..7461200442..12004......
4bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c000 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.-
4c020 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.
4c040 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
4c060 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
4c080 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.
4c0a0 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...............................
4c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 33 73 69 6d 70 6c 65 71 75 65 DB-1.2/DB/tests/oci8/03simpleque
4c220 72 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 ry.phpt.........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4c280 20 20 20 20 32 35 33 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 32 37 30 34 20 00 00 00 00 00 ....253..7461200442..12704......
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 69 6d 70 6c 65 51 75 65 72 79 20 74 65 --TEST--.DB_oci8::simpleQuery.te
4c420 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
4c440 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
4c460 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("..
4c480 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-
4c4a0 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......................
4c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 63 69 38 2f 30 32 66 65 74 63 68 2e 70 68 70 DB-1.2/DB/tests/oci8/02fetch.php
4c620 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...............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4c680 20 20 20 31 37 31 31 20 20 37 34 36 31 32 30 30 34 34 32 20 20 31 31 34 33 35 20 00 00 00 00 00 ...1711..7461200442..11435......
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 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 --TEST--.DB_oci8::fetch.test.--S
4c820 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
4c840 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("
4c860 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
4c880 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
4c8a0 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
4c8c0 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
4c8e0 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
4c900 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
4c920 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
4c940 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
4c960 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
4c980 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
4c9a0 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
4c9c0 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:
4c9e0 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.
4ca00 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
4ca20 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
4ca40 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
4ca60 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
4ca80 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
4caa0 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
4cac0 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
4cae0 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
4cb00 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
4cb20 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
4cb40 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
4cb60 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
4cb80 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
4cba0 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
4cbc0 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........................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 36 70 72 65 70 65 78 65 63 2e DB-1.2/DB/tests/odbc/06prepexec.
4cc20 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............................
4cc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cc60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4cc80 20 20 20 20 35 31 30 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 32 31 37 20 00 00 00 00 00 ....510..7354434371..12217......
4cca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
4ce20 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(
4ce40 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
4ce60 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(
4ce80 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
4cea0 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
4cec0 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
4cee0 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
4cf00 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
4cf20 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.
4cf40 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.-..........................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 39 6e 75 6d 72 6f 77 73 2e 70 DB-1.2/DB/tests/odbc/09numrows.p
4d020 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.............................
4d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4d080 20 20 20 20 33 32 36 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 31 32 36 20 00 00 00 00 00 ....326..7354434371..12126......
4d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d200 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.-
4d220 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.
4d240 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.
4d260 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.
4d280 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";.
4d2a0 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
4d2c0 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...........
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 37 65 72 72 6f 72 6e 61 74 69 DB-1.2/DB/tests/odbc/07errornati
4d420 76 65 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 ve.phpt.........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4d480 20 20 20 20 34 30 30 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 37 34 33 20 00 00 00 00 00 ....400..7354434371..12743......
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 64 62 63 3a 3a 65 72 72 6f 72 4e 61 74 69 76 65 20 74 65 --TEST--.DB_odbc::errorNative.te
4d620 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
4d640 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
4d660 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
4d680 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.
4d6a0 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
4d6c0 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"
4d6e0 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.
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 31 63 6f 6e 6e 65 63 74 2e 70 DB-1.2/DB/tests/odbc/01connect.p
4d820 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.............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4d880 20 20 20 20 34 37 30 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 30 33 35 20 00 00 00 00 00 ....470..7354434371..12035......
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 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
4da20 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")
4da40 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
4da60 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"
4da80 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
4daa0 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.
4dac0 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)).
4dae0 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\
4db00 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
4db20 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.........
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 31 30 65 72 72 6f 72 6d 61 70 2e DB-1.2/DB/tests/odbc/10errormap.
4dc20 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............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4dc80 20 20 20 31 31 34 34 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 32 35 32 20 00 00 00 00 00 ...1144..7354434371..12252......
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 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.
4de20 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
4de40 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
4de60 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
4de80 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";.
4dea0 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.
4dec0 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:
4dee0 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
4df00 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
4df20 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
4df40 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.
4df60 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
4df80 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
4dfa0 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
4dfc0 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
4dfe0 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
4e000 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
4e020 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
4e040 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
4e060 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.............................
4e080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 34 6e 75 6d 63 6f 6c 73 2e 70 DB-1.2/DB/tests/odbc/04numcols.p
4e220 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.............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4e280 20 20 20 20 32 37 31 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 30 36 36 20 00 00 00 00 00 ....271..7354434371..12066......
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 6e 75 6d 43 6f 6c 73 20 74 65 73 74 0a 2d --TEST--.DB_odbc::numCols.test.-
4e420 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.
4e440 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
4e460 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
4e480 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"
4e4a0 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........
4e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 33 73 69 6d 70 6c 65 71 75 65 DB-1.2/DB/tests/odbc/03simpleque
4e620 72 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 ry.phpt.........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4e680 20 20 20 20 33 30 32 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 37 35 37 20 00 00 00 00 00 ....302..7354434371..12757......
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 73 69 6d 70 6c 65 51 75 65 72 79 20 74 65 --TEST--.DB_odbc::simpleQuery.te
4e820 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
4e840 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
4e860 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
4e880 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
4e8a0 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
4e8c0 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...............................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6f 64 62 63 2f 30 32 66 65 74 63 68 2e 70 68 70 DB-1.2/DB/tests/odbc/02fetch.php
4ea20 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...............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4ea80 20 20 20 31 37 33 37 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 31 35 32 35 20 00 00 00 00 00 ...1737..7354434371..11525......
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 20 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 4b --TEST--.DB_odbc.fetch.test.--SK
4ec20 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
4ec40 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
4ec60 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
4ec80 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");
4eca0 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");.?
4ecc0 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
4ece0 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,.
4ed00 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
4ed20 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
4ed40 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,
4ed60 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.
4ed80 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
4eda0 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:
4edc0 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
4ede0 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.
4ee00 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.
4ee20 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
4ee40 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
4ee60 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
4ee80 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
4eea0 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.
4eec0 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
4eee0 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
4ef00 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
4ef20 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
4ef40 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
4ef60 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
4ef80 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
4efa0 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.
4efc0 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..
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 36 70 72 65 70 65 78 65 63 DB-1.2/DB/tests/ibase/06prepexec
4f020 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...........................
4f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4f080 20 20 20 20 35 33 34 20 20 37 34 34 32 31 32 37 31 32 36 20 20 31 32 33 37 34 20 00 00 00 00 00 ....534..7442127126..12374......
4f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
4f220 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
4f240 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
4f260 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
4f280 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
4f2a0 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");.?
4f2c0 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
4f2e0 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.
4f300 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.-..-..
4f320 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.-
4f340 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.-......
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 35 73 65 71 75 65 6e 63 65 DB-1.2/DB/tests/ibase/05sequence
4f420 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..........................
4f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4f480 20 20 20 20 35 36 32 20 20 37 34 34 32 34 31 31 34 35 36 20 20 31 32 35 35 36 20 00 00 00 00 00 ....562..7442411456..12556......
4f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f600 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.--
4f620 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
4f640 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
4f660 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
4f680 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
4f6a0 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
4f6c0 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.
4f6e0 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
4f700 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__)."/.
4f720 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--.
4f740 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
4f760 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................
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 32 2f 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 31 63 6f 6e 6e 65 63 74 2e DB-1.2/DB/tests/ibase/01connect.
4f820 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............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4f880 20 20 20 20 34 34 36 20 20 37 33 35 34 34 33 34 33 37 30 20 20 31 32 32 31 33 20 00 00 00 00 00 ....446..7354434370..12213......
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 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.
4fa20 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
4fa40 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
4fa60 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
4fa80 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
4faa0 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-
4fac0 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
4fae0 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-
4fb00 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
4fb20 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...........................
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 32 2f 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 31 30 65 72 72 6f 72 6d 61 70 DB-1.2/DB/tests/ibase/10errormap
4fc20 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...........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
4fc80 20 20 20 31 32 35 37 20 20 37 34 34 32 31 32 37 31 32 36 20 20 31 32 34 32 36 20 00 00 00 00 00 ...1257..7442127126..12426......
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 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.
4fe20 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
4fe40 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
4fe60 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
4fe80 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__)
4fea0 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--
4fec0 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
4fee0 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
4ff00 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
4ff20 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.
4ff40 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
4ff60 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
4ff80 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
4ffa0 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.
4ffc0 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
4ffe0 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.
50000 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
50020 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
50040 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
50060 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
50080 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
500a0 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..................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 34 6e 75 6d 63 6f 6c 73 2e DB-1.2/DB/tests/ibase/04numcols.
50220 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............................
50240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
50280 20 20 20 20 33 31 35 20 20 37 34 34 32 31 32 37 31 32 36 20 20 31 32 32 33 34 20 00 00 00 00 00 ....315..7442127126..12234......
502a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
502c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
502e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
503a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
503c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
503e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50400 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.
50420 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
50440 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
50460 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
50480 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_
504a0 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
504c0 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....................
504e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
505a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
505c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 33 73 69 6d 70 6c 65 71 75 DB-1.2/DB/tests/ibase/03simplequ
50620 65 72 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 ery.phpt........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
50680 20 20 20 20 33 32 36 20 20 37 34 34 32 31 32 37 31 32 36 20 20 31 33 31 33 34 20 00 00 00 00 00 ....326..7442127126..13134......
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 73 69 6d 70 6c 65 51 75 65 72 79 20 74 --TEST--.DB_ibase::simpleQuery.t
50820 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
50840 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
50860 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
50880 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
508a0 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");.?
508c0 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...........
508e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 69 62 61 73 65 2f 30 32 66 65 74 63 68 2e 70 68 DB-1.2/DB/tests/ibase/02fetch.ph
50a20 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..............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
50a80 20 20 20 32 30 30 36 20 20 37 34 34 32 31 32 37 31 32 36 20 20 31 31 36 36 32 20 00 00 00 00 00 ...2006..7442127126..11662......
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 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
50c20 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
50c40 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
50c60 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
50c80 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__).
50ca0 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
50cc0 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
50ce0 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
50d00 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
50d20 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,
50d40 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,.
50d60 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,
50d80 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
50da0 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
50dc0 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
50de0 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
50e00 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
50e20 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
50e40 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
50e60 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
50e80 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
50ea0 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
50ec0 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
50ee0 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.
50f00 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
50f20 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
50f40 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.
50f60 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
50f80 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
50fa0 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
50fc0 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
50fe0 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.
51000 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...........................
51020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
510a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
510c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
510e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 36 70 72 65 70 65 78 65 63 DB-1.2/DB/tests/mysql/06prepexec
51220 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...........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
51280 20 20 20 20 35 33 34 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 32 34 34 32 20 00 00 00 00 00 ....534..7440041004..12442......
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 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
51420 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
51440 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
51460 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
51480 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
514a0 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");.?
514c0 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
514e0 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.
51500 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.-..-..
51520 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.-
51540 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.-......
51560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
515a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
515c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
515e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51600 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 38 61 66 66 65 63 74 65 64 DB-1.2/DB/tests/mysql/08affected
51620 72 6f 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 rows.phpt.......................
51640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
51680 20 20 20 32 32 37 37 20 20 37 33 35 34 34 33 34 33 37 30 20 20 31 33 33 35 33 20 00 00 00 00 00 ...2277..7354434370..13353......
516a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.
51820 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
51840 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 72 kipif.inc");.?>.--FILE--.<?php.r
51860 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 22 6d equire_once."DB.php";.include("m
51880 6b 74 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 49 4e 53 45 52 ktable.inc");.$dbh->query("INSER
518a0 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 31 2c 20 27 T.INTO.phptest.(a,b).VALUES(1,.'
518c0 74 65 73 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 test')");.$dbh->query("INSERT.IN
518e0 54 4f 20 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 TO.phptest.(a,b).VALUES(2,.'test
51900 27 29 22 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 ')");.printf("%d.after.insert\n"
51920 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 71 ,.$dbh->affectedRows());.$dbh->q
51940 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 3b 0a 70 uery("SELECT.*.FROM.phptest");.p
51960 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 62 68 2d rintf("%d.after.select\n",.$dbh-
51980 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 28 22 44 >affectedRows());.$dbh->query("D
519a0 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 27 74 65 ELETE.FROM.phptest.WHERE.b.=.'te
519c0 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 65 5c 6e st'");.printf("%d.after.delete\n
519e0 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->
51a00 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 61 2c 62 29 query("INSERT.INTO.phptest.(a,b)
51a20 20 56 41 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 .VALUES(1,.'test')");.$dbh->quer
51a40 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
51a60 55 45 53 28 32 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 44 UES(2,.'test')");.$dbh->query("D
51a80 45 4c 45 54 45 20 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 ELETE.FROM.phptest");.printf("%d
51aa0 20 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 25 73 29 5c .after.delete.all.(optimize=%s)\
51ac0 6e 22 2c 20 24 64 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 n",.$dbh->affectedRows(),.......
51ae0 20 24 64 62 68 2d 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 24 .$dbh->getOption("optimize"));.$
51b00 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.
51b20 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 62 68 2d (a,b).VALUES(1,.'test')");.$dbh-
51b40 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 61 2c 62 >query("INSERT.INTO.phptest.(a,b
51b60 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 73 65 74 ).VALUES(2,.'test')");.$dbh->set
51b80 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 69 74 79 22 Option("optimize",."portability"
51ba0 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 70 68 70 74 );.$dbh->query("DELETE.FROM.phpt
51bc0 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 74 65 20 61 est");.printf("%d.after.delete.a
51be0 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 66 66 65 63 ll.(optimize=%s)\n",.$dbh->affec
51c00 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 70 74 69 6f tedRows(),........$dbh->getOptio
51c20 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 2d 0a 31 20 n("optimize"));.?>.--EXPECT--.1.
51c40 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 32 20 61 66 after.insert.0.after.select.2.af
51c60 74 65 72 20 64 65 6c 65 74 65 0a 30 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 6c 20 28 6f ter.delete.0.after.delete.all.(o
51c80 70 74 69 6d 69 7a 65 3d 70 65 72 66 6f 72 6d 61 6e 63 65 29 0a 32 20 61 66 74 65 72 20 64 65 6c ptimize=performance).2.after.del
51ca0 65 74 65 20 61 6c 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 ete.all.(optimize=portability)..
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 39 6e 75 6d 72 6f 77 73 2e DB-1.2/DB/tests/mysql/09numrows.
51e20 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............................
51e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
51e80 20 20 20 20 33 32 32 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 32 33 33 37 20 00 00 00 00 00 ....322..7440041004..12337......
51ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.
52020 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
52040 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
52060 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
52080 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__)
520a0 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-
520c0 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...............
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 33 6c 69 6d 69 74 2e 70 68 DB-1.2/DB/tests/mysql/13limit.ph
52220 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..............................
52240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
52280 20 20 20 31 35 34 30 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 31 37 36 31 20 00 00 00 00 00 ...1540..7440041004..11761......
522a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
522c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
522e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
523a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
523c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
523e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52400 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
52420 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
52440 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
52460 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
52480 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
524a0 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
524c0 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.-.
524e0 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
52500 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.-
52520 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
52540 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.=
52560 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
52580 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
525a0 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
525c0 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
525e0 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.
52600 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
52620 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.||
52640 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.===
52660 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.
52680 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
526a0 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
526c0 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.
526e0 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.=====
52700 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
52720 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
52740 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.
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 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 35 73 65 71 75 65 6e 63 65 DB-1.2/DB/tests/mysql/05sequence
52820 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..........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
52880 20 20 20 20 34 31 31 20 20 37 34 35 33 36 31 32 32 35 34 20 20 31 32 36 33 32 20 00 00 00 00 00 ....411..7453612254..12632......
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 20 73 65 71 75 65 6e 63 65 73 0a 2d 2d 53 4b --TEST--.DB_mysql.sequences.--SK
52a20 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
52a40 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
52a60 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
52a80 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";.?>.--
52aa0 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
52ac0 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
52ae0 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
52b00 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........................
52b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 37 65 72 72 6f 72 6e 61 74 DB-1.2/DB/tests/mysql/07errornat
52c20 69 76 65 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 ive.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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
52c80 20 20 20 20 34 30 31 20 20 37 33 35 34 34 33 34 33 37 30 20 20 31 33 32 30 31 20 00 00 00 00 00 ....401..7354434370..13201......
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 65 72 72 6f 72 4e 61 74 69 76 65 20 74 --TEST--.DB_mysql::errorNative.t
52e20 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
52e40 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
52e60 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
52e80 74 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 table.inc");.$dbh->query("syntax
52ea0 20 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 .error.please");.print."error.co
52ec0 64 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 de."...$dbh->errorNative()..."\n
52ee0 22 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 ";.?>.--EXPECT--.error.code.1064
52f00 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 ................................
52f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53000 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 32 74 61 62 6c 65 69 6e 66 DB-1.2/DB/tests/mysql/12tableinf
53020 6f 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 o.phpt..........................
53040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
53080 20 20 20 32 37 35 36 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 32 36 31 37 20 00 00 00 00 00 ...2756..7440041004..12617......
530a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
530c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
530e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
531a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
531c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
531e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53200 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
53220 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
53240 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 75 69 f.inc");.?>.--FILE--.<?php.requi
53260 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 61 62 re_once."DB.php";.include("mktab
53280 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 49 4c 45 le.inc");.include(dirname(__FILE
532a0 5f 5f 29 2e 22 2f 2e 2e 2f 74 61 62 6c 65 69 6e 66 6f 2e 69 6e 63 22 29 3b 0a 3f 3e 0a 2d 2d 45 __)."/../tableinfo.inc");.?>.--E
532c0 58 50 45 43 54 2d 2d 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 6e 66 6f 3a 0a 0a 66 69 72 73 XPECT--.testing.tableInfo:..firs
532e0 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 61 6d 65 20 t.field:.table.=>.phptest..name.
53300 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 20 0a 66 6c =>.a..type.=>.int..len.=>.11..fl
53320 61 67 73 20 3d 3e 20 20 0a 0a 65 69 67 68 74 20 28 6c 61 73 74 29 20 66 69 65 6c 64 3a 0a 74 61 ags.=>....eight.(last).field:.ta
53340 62 6c 65 20 3d 3e 20 70 68 70 74 65 73 74 5f 66 6b 20 0a 6e 61 6d 65 20 3d 3e 20 64 20 0a 74 79 ble.=>.phptest_fk..name.=>.d..ty
53360 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 3d 3e 20 pe.=>.date..len.=>.10..flags.=>.
53380 20 0a 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 6e 66 6f 20 28 44 42 5f 54 41 42 4c 45 49 4e ...testing.tableInfo.(DB_TABLEIN
533a0 46 4f 5f 4f 52 44 45 52 29 3a 0a 0a 66 69 72 73 74 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 20 3d FO_ORDER):..first.field:.table.=
533c0 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 6e >.phptest..name.=>.a..type.=>.in
533e0 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 65 69 67 68 74 20 t..len.=>.11..flags.=>....eight.
53400 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 61 6d 65 20 3d 3e field:.table.=>.phptest..name.=>
53420 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 66 6c 61 .d..type.=>.date..len.=>.10..fla
53440 67 73 20 3d 3e 20 20 0a 0a 6e 75 6d 5f 66 69 65 6c 64 73 3a 0a 38 0a 0a 6f 72 64 65 72 3a 0a 61 gs.=>....num_fields:.8..order:.a
53460 20 3d 3e 20 34 20 0a 62 20 3d 3e 20 31 20 0a 63 20 3d 3e 20 36 20 0a 64 20 3d 3e 20 37 20 0a 66 .=>.4..b.=>.1..c.=>.6..d.=>.7..f
53480 6b 20 3d 3e 20 35 20 0a 0a 74 65 73 74 69 6e 67 20 74 61 62 6c 65 49 6e 66 6f 20 28 44 42 5f 54 k.=>.5...testing.tableInfo.(DB_T
534a0 41 42 4c 45 49 4e 46 4f 5f 4f 52 44 45 52 54 41 42 4c 45 29 3a 0a 0a 66 69 72 73 74 20 66 69 65 ABLEINFO_ORDERTABLE):..first.fie
534c0 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 61 20 ld:.table.=>.phptest..name.=>.a.
534e0 0a 74 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 .type.=>.int..len.=>.11..flags.=
53500 3e 20 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 >....eight.field:.table.=>.phpte
53520 73 74 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 st..name.=>.d..type.=>.date..len
53540 20 3d 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 .=>.10..flags.=>....num_fields:.
53560 38 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 8..ordertable:.phptest.=>.Array.
53580 0a 70 68 70 74 65 73 74 5f 66 6b 20 3d 3e 20 41 72 72 61 79 20 0a 0a 6f 72 64 65 72 74 61 62 6c .phptest_fk.=>.Array...ordertabl
535a0 65 5b 70 68 70 74 65 73 74 5d 3a 0a 61 20 3d 3e 20 30 20 0a 62 20 3d 3e 20 31 20 0a 63 20 3d 3e e[phptest]:.a.=>.0..b.=>.1..c.=>
535c0 20 32 20 0a 64 20 3d 3e 20 33 20 0a 0a 6f 72 64 65 72 74 61 62 6c 65 5b 70 68 70 74 65 73 74 5f .2..d.=>.3...ordertable[phptest_
535e0 66 6b 5d 3a 0a 61 20 3d 3e 20 34 20 0a 66 6b 20 3d 3e 20 35 20 0a 63 20 3d 3e 20 36 20 0a 64 20 fk]:.a.=>.4..fk.=>.5..c.=>.6..d.
53600 3d 3e 20 37 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 =>.7...testing.tableInfo.(table.
53620 77 69 74 68 6f 75 74 20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 3a 0a 0a 66 69 72 73 74 20 66 69 without.query-result):..first.fi
53640 65 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 61 eld:.table.=>.phptest..name.=>.a
53660 20 0a 74 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 ..type.=>.int..len.=>.11..flags.
53680 3d 3e 20 20 0a 0a 66 6f 75 72 74 68 20 28 6c 61 73 74 29 20 66 69 65 6c 64 3a 0a 74 61 62 6c 65 =>....fourth.(last).field:.table
536a0 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.=>.
536c0 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 74 65 73 date..len.=>.10..flags.=>....tes
536e0 74 69 6e 67 20 74 61 62 6c 65 49 6e 66 6f 20 28 74 61 62 6c 65 20 77 69 74 68 6f 75 74 20 71 75 ting.tableInfo.(table.without.qu
53700 65 72 79 2d 72 65 73 75 6c 74 20 61 6e 64 20 44 42 5f 54 41 42 4c 45 49 4e 46 4f 5f 46 55 4c 4c ery-result.and.DB_TABLEINFO_FULL
53720 29 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 73 ):..first.field:.table.=>.phptes
53740 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 3d t..name.=>.a..type.=>.int..len.=
53760 3e 20 31 31 20 0a 66 6c 61 67 73 20 3d 3e 20 20 0a 0a 6f 72 64 65 72 3a 0a 61 20 3d 3e 20 30 20 >.11..flags.=>....order:.a.=>.0.
53780 0a 62 20 3d 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 .b.=>.1..c.=>.2..d.=>.3...ordert
537a0 61 62 6c 65 3a 0a 70 68 70 74 65 73 74 20 3d 3e 20 41 72 72 61 79 20 0a 0a 6f 72 64 65 72 74 61 able:.phptest.=>.Array...orderta
537c0 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 3e 20 31 20 0a 63 20 ble[phptest]:.a.=>.0..b.=>.1..c.
537e0 3d 3e 20 32 20 0a 64 20 3d 3e 20 33 20 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =>.2..d.=>.3....................
53800 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 31 63 6f 6e 6e 65 63 74 2e DB-1.2/DB/tests/mysql/01connect.
53820 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............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
53880 20 20 20 20 34 34 36 20 20 37 33 35 34 34 33 34 33 37 30 20 20 31 32 32 37 35 20 00 00 00 00 00 ....446..7354434370..12275......
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 3a 3a 63 6f 6e 6e 65 63 74 20 74 65 73 74 0a --TEST--.DB_mysql::connect.test.
53a20 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
53a40 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
53a60 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
53a80 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
53aa0 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-
53ac0 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
53ae0 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-
53b00 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
53b20 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...........................
53b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53c00 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 30 65 72 72 6f 72 6d 61 70 DB-1.2/DB/tests/mysql/10errormap
53c20 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...........................
53c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
53c80 20 20 20 31 31 36 37 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 32 34 37 34 20 00 00 00 00 00 ...1167..7440041004..12474......
53ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.
53e20 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
53e40 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
53e60 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
53e80 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__)
53ea0 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--
53ec0 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
53ee0 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
53f00 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
53f20 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.
53f40 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
53f60 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
53f80 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
53fa0 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.
53fc0 44 42 5f 45 52 52 4f 52 5f 44 49 56 5a 45 52 4f 0a 54 72 79 69 6e 67 20 74 6f 20 70 72 6f 76 6f DB_ERROR_DIVZERO.Trying.to.provo
53fe0 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 52 0a 54 72 79 69 6e ke.DB_ERROR_INVALID_NUMBER.Tryin
54000 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 45 4c g.to.provoke.DB_ERROR_NOSUCHFIEL
54020 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 79 69 D...DB.Error:.no.such.field.Tryi
54040 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 20 20 ng.to.provoke.DB_ERROR_SYNTAX...
54060 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 00 00 DB.Error:.syntax.error..........
54080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
540a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
540c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
540e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 34 6e 75 6d 63 6f 6c 73 2e DB-1.2/DB/tests/mysql/04numcols.
54220 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............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
54280 20 20 20 20 33 31 35 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 32 33 30 32 20 00 00 00 00 00 ....315..7440041004..12302......
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 6e 75 6d 43 6f 6c 73 20 74 65 73 74 0a --TEST--.DB_mysql::numCols.test.
54420 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
54440 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
54460 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
54480 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_
544a0 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
544c0 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....................
544e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 33 73 69 6d 70 6c 65 71 75 DB-1.2/DB/tests/mysql/03simplequ
54620 65 72 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 ery.phpt........................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
54680 20 20 20 20 33 32 36 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 33 32 30 32 20 00 00 00 00 00 ....326..7440041004..13202......
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 3a 3a 73 69 6d 70 6c 65 51 75 65 72 79 20 74 --TEST--.DB_mysql::simpleQuery.t
54820 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
54840 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
54860 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
54880 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
548a0 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");.?
548c0 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...........
548e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
549a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
549c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
549e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54a00 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 31 34 66 65 74 63 68 6d 6f 64 DB-1.2/DB/tests/mysql/14fetchmod
54a20 65 5f 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 e_object.phpt...................
54a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
54a80 20 20 20 20 37 33 34 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 34 31 31 34 20 00 00 00 00 00 ....734..7440041004..14114......
54aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c00 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
54c20 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
54c40 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
54c60 75 69 72 65 20 27 63 6f 6e 6e 65 63 74 2e 69 6e 63 27 3b 0a 69 6e 63 6c 75 64 65 20 64 69 72 6e uire.'connect.inc';.include.dirn
54c80 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
54ca0 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
54cc0 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
54ce0 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
54d00 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
54d20 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
54d40 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
54d60 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
54d80 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
54da0 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.-
54dc0 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.....
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 32 2f 44 42 2f 74 65 73 74 73 2f 6d 79 73 71 6c 2f 30 32 66 65 74 63 68 2e 70 68 DB-1.2/DB/tests/mysql/02fetch.ph
54e20 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..............................
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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
54e80 20 20 20 32 30 30 36 20 20 37 34 34 30 30 34 31 30 30 34 20 20 31 31 37 33 30 20 00 00 00 00 00 ...2006..7440041004..11730......
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 20 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 --TEST--.DB_mysql.fetch.test.--S
55020 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
55040 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
55060 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
55080 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__).
550a0 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
550c0 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
550e0 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
55100 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
55120 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,
55140 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,.
55160 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,
55180 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
551a0 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
551c0 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
551e0 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
55200 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
55220 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
55240 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
55260 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
55280 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
552a0 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
552c0 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
552e0 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.
55300 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
55320 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
55340 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.
55360 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
55380 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
553a0 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
553c0 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
553e0 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.
55400 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...........................
55420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
554a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
554c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
554e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
555a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
555c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
555e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55600 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 36 70 72 65 70 65 78 65 63 DB-1.2/DB/tests/pgsql/06prepexec
55620 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...........................
55640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
55680 20 20 20 20 35 31 31 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 34 33 37 20 00 00 00 00 00 ....511..7354434371..12437......
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 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
55820 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
55840 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
55860 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
55880 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 70 72 65 ("mktable.inc");.include("../pre
558a0 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 68 31 2c 73 pexe.inc");.?>.--EXPECT--.sth1,s
558c0 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 65 64 0a 73 th2,sth3.created.sth1.executed.s
558e0 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 65 73 75 6c th2.executed.sth3.executed.resul
55900 74 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 ts:.72.-..-..-..72.-.bing.-..-..
55920 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 65 72 72.-.gazonk.-.opaque.placeholder
55940 0a 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 .test.-.........................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 31 74 72 61 6e 73 61 63 74 DB-1.2/DB/tests/pgsql/11transact
55a20 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...........................
55a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
55a80 20 20 20 31 30 36 32 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 34 36 31 20 00 00 00 00 00 ...1062..7354434371..12461......
55aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 74 65 --TEST--.DB_pgsql.transaction.te
55c20 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 69 st.--SKIPIF--.<?php.require."ski
55c40 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 75 pif.inc";.?>.--FILE--.<?php.requ
55c60 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 61 ire."connect.inc";.require."mkta
55c80 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 6f ble.inc";.require."../transactio
55ca0 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 74 ns.inc";.?>.--EXPECT--.after.aut
55cc0 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 63 ocommit:.bing.one.ops=0.before.c
55ce0 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 0a ommit:.bing.one.two.three.ops=2.
55d00 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 65 after.commit:.bing.one.two.three
55d20 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 65 .ops=0.before.rollback:.bing.one
55d40 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 72 .two.three.four.five.ops=2.after
55d60 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 70 .rollback:.bing.one.two.three.op
55d80 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 20 s=0.before.autocommit+rollback:.
55da0 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 73 bing.one.two.three.six.seven.ops
55dc0 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 69 =0.after.autocommit+rollback:.bi
55de0 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 30 ng.one.two.three.six.seven.ops=0
55e00 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 73 .testing.that.select.doesn't.dis
55e20 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 00 turbe.opcount:.ok...............
55e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 38 61 66 66 65 63 74 65 64 DB-1.2/DB/tests/pgsql/08affected
56020 72 6f 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 rows.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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
56080 20 20 20 31 34 33 33 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 33 33 32 36 20 00 00 00 00 00 ...1433..7354434371..13326......
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 70 67 73 71 6c 3a 3a 61 66 66 65 63 74 65 64 52 6f 77 73 20 --TEST--.DB_pgsql::affectedRows.
56220 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
56240 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 72 kipif.inc");.?>.--FILE--.<?php.r
56260 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 22 6d equire_once."DB.php";.include("m
56280 6b 74 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 49 4e 53 45 52 ktable.inc");.$dbh->query("INSER
562a0 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 31 2c 20 27 T.INTO.phptest.(a,b).VALUES(1,.'
562c0 74 65 73 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 test')");.$dbh->query("INSERT.IN
562e0 54 4f 20 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 TO.phptest.(a,b).VALUES(2,.'test
56300 27 29 22 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 ')");.printf("%d.after.insert\n"
56320 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 71 ,.$dbh->affectedRows());.$dbh->q
56340 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 3b 0a 70 uery("SELECT.*.FROM.phptest");.p
56360 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 62 68 2d rintf("%d.after.select\n",.$dbh-
56380 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 28 22 44 >affectedRows());.$dbh->query("D
563a0 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 27 74 65 ELETE.FROM.phptest.WHERE.b.=.'te
563c0 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 65 5c 6e st'");.printf("%d.after.delete\n
563e0 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->
56400 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 61 2c 62 29 query("INSERT.INTO.phptest.(a,b)
56420 20 56 41 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 .VALUES(1,.'test')");.$dbh->quer
56440 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
56460 55 45 53 28 32 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 44 UES(2,.'test')");.$dbh->query("D
56480 45 4c 45 54 45 20 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 ELETE.FROM.phptest");.printf("%d
564a0 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 6c 5c 6e 22 2c 20 24 64 62 68 2d 3e 61 66 66 65 .after.delete.all\n",.$dbh->affe
564c0 63 74 65 64 52 6f 77 73 28 29 29 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d 0a 31 20 61 66 74 ctedRows());.?>.--EXPECT--.1.aft
564e0 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 32 20 61 66 74 65 72 er.insert.0.after.select.2.after
56500 20 64 65 6c 65 74 65 0a 33 20 61 66 74 65 72 20 64 65 6c 65 74 65 20 61 6c 6c 0a 00 00 00 00 00 .delete.3.after.delete.all......
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 39 6e 75 6d 72 6f 77 73 2e DB-1.2/DB/tests/pgsql/09numrows.
56620 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............................
56640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
56680 20 20 20 20 32 37 37 20 20 37 34 31 35 37 35 37 31 31 32 20 20 31 32 33 35 31 20 00 00 00 00 00 ....277..7415757112..12351......
566a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
566c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
566e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
567a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
567c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
567e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56800 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.
56820 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
56840 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
56860 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
56880 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";
568a0 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..
568c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
568e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
569a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
569c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
569e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56a00 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 33 6c 69 6d 69 74 2e 70 68 DB-1.2/DB/tests/pgsql/13limit.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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
56a80 20 20 20 31 35 31 35 20 20 37 33 37 30 32 31 31 32 37 33 20 20 31 31 37 35 35 20 00 00 00 00 00 ...1515..7370211273..11755......
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 20 72 6f 77 20 6c 69 6d 69 74 0a 2d 2d 53 4b --TEST--.DB_pgsql.row.limit.--SK
56c20 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
56c40 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
56c60 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
56c80 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:.
56ca0 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
56cc0 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
56ce0 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.-
56d00 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
56d20 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
56d40 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.||.
56d60 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.====
56d80 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
56da0 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.
56dc0 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
56de0 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.-
56e00 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.======
56e20 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.
56e40 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
56e60 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
56e80 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.
56ea0 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.-.
56ec0 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
56ee0 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
56f00 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.=======.
56f20 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
56f40 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....................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 35 73 65 71 75 65 6e 63 65 DB-1.2/DB/tests/pgsql/05sequence
57020 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..........................
57040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
57080 20 20 20 20 33 30 34 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 36 31 36 20 00 00 00 00 00 ....304..7354434371..12616......
570a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
570c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
570e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
571a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
571c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
571e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57200 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 20 73 65 71 75 65 6e 63 65 73 0a 2d 2d 53 4b --TEST--.DB_pgsql.sequences.--SK
57220 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
57240 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
57260 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 65 nnect.inc";.require."../sequence
57280 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 20 s.inc";.?>.--EXPECT--.DB.Error:.
572a0 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 0a no.such.table.a=1.b=2.b-a=1.c=1.
572c0 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 00 d=1.............................
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 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 37 65 72 72 6f 72 6e 61 74 DB-1.2/DB/tests/pgsql/07errornat
57420 69 76 65 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 ive.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 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
57480 20 20 20 20 34 32 31 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 33 31 36 35 20 00 00 00 00 00 ....421..7354434371..13165......
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 65 72 72 6f 72 4e 61 74 69 76 65 20 74 --TEST--.DB_pgsql::errorNative.t
57620 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
57640 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
57660 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
57680 74 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 table.inc");.$dbh->query("syntax
576a0 20 65 72 72 6f 72 20 70 6c 65 61 73 65 22 29 3b 0a 70 72 69 6e 74 20 24 64 62 68 2d 3e 65 72 72 .error.please");.print.$dbh->err
576c0 6f 72 4e 61 74 69 76 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 orNative()..."\n";.?>.--EXPECT--
576e0 0a 45 52 52 4f 52 3a 20 20 70 61 72 73 65 72 3a 20 70 61 72 73 65 20 65 72 72 6f 72 20 61 74 20 .ERROR:..parser:.parse.error.at.
57700 6f 72 20 6e 65 61 72 20 22 73 79 6e 74 61 78 22 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 or.near."syntax"................
57720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
577a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
577c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
577e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57800 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 31 63 6f 6e 6e 65 63 74 2e DB-1.2/DB/tests/pgsql/01connect.
57820 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............................
57840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
57880 20 20 20 20 34 34 36 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 32 35 37 20 00 00 00 00 00 ....446..7354434371..12257......
578a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
578c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
578e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.
57a20 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
57a40 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
57a60 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
57a80 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
57aa0 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-
57ac0 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
57ae0 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-
57b00 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
57b20 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...........................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 30 65 72 72 6f 72 6d 61 70 DB-1.2/DB/tests/pgsql/10errormap
57c20 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...........................
57c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57c60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
57c80 20 20 20 31 33 37 33 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 34 37 35 20 00 00 00 00 00 ...1373..7354434371..12475......
57ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 20 65 72 72 6f 72 20 6d 61 70 70 69 6e 67 0a --TEST--.DB_pgsql.error.mapping.
57e20 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
57e40 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
57e60 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
57e80 2e 69 6e 63 22 3b 0a 2f 2f 20 54 68 65 20 44 42 5f 45 52 52 4f 52 5f 43 4f 4e 53 54 52 41 49 4e .inc";.//.The.DB_ERROR_CONSTRAIN
57ea0 54 20 74 65 73 74 20 77 69 6c 6c 20 66 61 69 6c 20 6f 6e 20 50 6f 73 74 67 72 65 53 51 4c 20 3c T.test.will.fail.on.PostgreSQL.<
57ec0 20 37 2e 78 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 .7.x.require."../errors.inc";.?>
57ee0 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 44 42 .--EXPECT--.Trying.to.provoke.DB
57f00 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 20 6e _ERROR_NOSUCHTABLE...DB.Error:.n
57f20 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 20 44 o.such.table.Trying.to.provoke.D
57f40 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 72 6f B_ERROR_ALREADY_EXISTS...DB.Erro
57f60 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 6f 76 r:.already.exists.Trying.to.prov
57f80 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 45 72 oke.DB_ERROR_NOSUCHTABLE...DB.Er
57fa0 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 72 6f ror:.no.such.table.Trying.to.pro
57fc0 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 45 72 voke.DB_ERROR_CONSTRAINT...DB.Er
57fe0 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 6e 67 ror:.constraint.violation.Trying
58000 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 20 44 .to.provoke.DB_ERROR_DIVZERO...D
58020 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 6e 67 B.Error:.division.by.zero.Trying
58040 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
58060 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 0a 54 BER...DB.Error:.invalid.number.T
58080 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 43 48 rying.to.provoke.DB_ERROR_NOSUCH
580a0 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 64 0a FIELD...DB.Error:.no.such.field.
580c0 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 54 41 Trying.to.provoke.DB_ERROR_SYNTA
580e0 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 00 00 X...DB.Error:.syntax.error......
58100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
581a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
581c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
581e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58200 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 34 6e 75 6d 63 6f 6c 73 2e DB-1.2/DB/tests/pgsql/04numcols.
58220 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............................
58240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58260 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
58280 20 20 20 20 32 37 32 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 32 33 30 36 20 00 00 00 00 00 ....272..7354434371..12306......
582a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
582c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
582e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.
58420 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
58440 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
58460 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
58480 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 2e 69 6e 63 e.inc");.include("../numcols.inc
584a0 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 00 00 00 00 ");.?>.--EXPECT--.1.2.3.4.......
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 33 73 69 6d 70 6c 65 71 75 DB-1.2/DB/tests/pgsql/03simplequ
58620 65 72 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 ery.phpt........................
58640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
58680 20 20 20 20 33 30 33 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 33 31 37 37 20 00 00 00 00 00 ....303..7354434371..13177......
586a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
586c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
58820 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
58840 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
58860 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
58880 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 70 6c 65 71 table.inc");.include("../simpleq
588a0 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 73 6f 75 72 uery.inc");.?>.--EXPECT--.resour
588c0 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 00 00 00 00 ce..............................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 31 34 66 65 74 63 68 6d 6f 64 DB-1.2/DB/tests/pgsql/14fetchmod
58a20 65 5f 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 e_object.phpt...................
58a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58a60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
58a80 20 20 20 20 37 31 33 20 20 37 33 37 32 35 30 37 32 35 34 20 20 31 34 31 31 34 20 00 00 00 00 00 ....713..7372507254..14114......
58aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
58c20 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
58c40 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
58c60 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.'.
58c80 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
58ca0 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
58cc0 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.->.
58ce0 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.---.
58d00 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_
58d20 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.->
58d40 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.---
58d60 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
58d80 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
58da0 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.
58dc0 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......................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 70 67 73 71 6c 2f 30 32 66 65 74 63 68 2e 70 68 DB-1.2/DB/tests/pgsql/02fetch.ph
58e20 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..............................
58e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58e60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
58e80 20 20 20 31 37 34 30 20 20 37 33 35 34 34 33 34 33 37 31 20 20 31 31 37 33 36 20 00 00 00 00 00 ...1740..7354434371..11736......
58ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 2d 2d 54 45 53 54 2d 2d 0a 44 42 5f 70 67 73 71 6c 20 66 65 74 63 68 20 74 65 73 74 0a 2d 2d 53 --TEST--.DB_pgsql.fetch.test.--S
59020 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
59040 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
59060 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
59080 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 69 6e 63 22 29 nc");.include("../fetchrow.inc")
590a0 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 63 22 29 3b 0a ;.include("../fetchmodes.inc");.
590c0 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 72 6f 77 3a 0a ?>.--EXPECT--.testing.fetchrow:.
590e0 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 74 65 73 74 2c row.1:.42,.bing,.This.is.a.test,
59100 20 31 31 2d 32 31 2d 31 39 39 39 0a 72 6f 77 20 32 3a 20 31 2c 20 6f 6e 65 2c 20 4f 6e 65 2c 20 .11-21-1999.row.2:.1,.one,.One,.
59120 30 32 2d 31 36 2d 32 30 30 31 0a 72 6f 77 20 33 3a 20 32 2c 20 74 77 6f 2c 20 54 77 6f 2c 20 30 02-16-2001.row.3:.2,.two,.Two,.0
59140 32 2d 31 35 2d 32 30 30 31 0a 72 6f 77 20 34 3a 20 33 2c 20 74 68 72 65 65 2c 20 54 68 72 65 65 2-15-2001.row.4:.3,.three,.Three
59160 2c 20 30 32 2d 31 34 2d 32 30 30 31 0a 72 6f 77 20 35 3a 20 4e 55 4c 4c 0a 74 65 73 74 69 6e 67 ,.02-14-2001.row.5:.NULL.testing
59180 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 6c 74 20 64 65 .fetchmodes:.fetchrow.default.de
591a0 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
591c0 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 0a 30 20 31 20 :.fetchinto.default.default.0.1.
591e0 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 72 6f 77 2.3.testing.fetchmodes:.fetchrow
59200 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 6e 67 .ordered.default.0.1.2.3.testing
59220 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 66 61 .fetchmodes:.fetchrow.assoc.defa
59240 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 73 3a 20 ult.a.b.c.d.testing.fetchmodes:.
59260 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 74 68 20 61 73 fetchrow.ordered.default.with.as
59280 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 67 20 66 65 soc.specified.a.b.c.d.testing.fe
592a0 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 6c 74 tchmodes:.fetchrow.assoc.default
592c0 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 20 32 20 33 0a .with.ordered.specified.0.1.2.3.
592e0 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 6f 72 testing.fetchmodes:.fetchinto.or
59300 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 66 65 dered.default.0.1.2.3.testing.fe
59320 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 66 61 75 6c tchmodes:.fetchinto.assoc.defaul
59340 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 65 t.a.b.c.d.testing.fetchmodes:.fe
59360 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 68 20 61 73 73 tchinto.ordered.default.with.ass
59380 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
593a0 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
593c0 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 20 32 20 33 0a .with.ordered.specified.0.1.2.3.
593e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59400 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 36 70 72 65 70 65 78 65 DB-1.2/DB/tests/driver/06prepexe
59420 63 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 c.phpt..........................
59440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
59480 20 20 20 20 35 31 32 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 32 35 37 33 20 00 00 00 00 00 ....512..7441104622..12573......
594a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
594c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
594e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
59620 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(
59640 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
59660 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
59680 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("..
596a0 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
596c0 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
596e0 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
59700 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.-..
59720 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
59740 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.-.......................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 38 61 66 66 65 63 74 65 DB-1.2/DB/tests/driver/08affecte
59820 64 72 6f 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 drows.phpt......................
59840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
59880 20 20 20 32 30 37 31 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 33 34 36 30 20 00 00 00 00 00 ...2071..7441104622..13460......
598a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
59a20 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
59a40 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
59a60 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
59a80 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
59aa0 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
59ac0 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
59ae0 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
59b00 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
59b20 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.
59b40 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')"
59b60 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",.$
59b80 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
59ba0 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
59bc0 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")
59be0 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
59c00 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
59c20 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.=.
59c40 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
59c60 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());..//
59c80 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
59ca0 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
59cc0 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')");.$
59ce0 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.
59d00 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-
59d20 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
59d40 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.
59d60 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
59d80 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
59da0 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
59dc0 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-
59de0 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.
59e00 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
59e20 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)........
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 39 6e 75 6d 72 6f 77 73 DB-1.2/DB/tests/driver/09numrows
5a020 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...........................
5a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5a080 20 20 20 20 33 33 32 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 32 34 37 35 20 00 00 00 00 00 ....332..7441104622..12475......
5a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
5a220 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(
5a240 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"
5a260 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
5a280 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"
5a2a0 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";.?>.-
5a2c0 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.......
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 33 6c 69 6d 69 74 2e 70 DB-1.2/DB/tests/driver/13limit.p
5a420 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.............................
5a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5a480 20 20 20 31 35 35 31 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 32 31 32 30 20 00 00 00 00 00 ...1551..7441104622..12120......
5a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a600 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.--
5a620 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
5a640 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";.?
5a660 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
5a680 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';.
5a6a0 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.||
5a6c0 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.===
5a6e0 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
5a700 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
5a720 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.
5a740 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
5a760 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
5a780 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.=======.
5a7a0 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
5a7c0 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.-
5a7e0 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
5a800 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
5a820 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
5a840 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
5a860 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.
5a880 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.-.
5a8a0 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
5a8c0 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
5a8e0 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
5a900 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
5a920 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.-
5a940 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
5a960 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........................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 35 73 65 71 75 65 6e 63 DB-1.2/DB/tests/driver/05sequenc
5aa20 65 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 es.phpt.........................
5aa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aa60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5aa80 20 20 20 20 34 32 32 20 20 37 34 35 33 36 31 32 32 35 35 20 20 31 32 37 36 33 20 00 00 00 00 00 ....422..7453612255..12763......
5aaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.--
5ac20 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
5ac40 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";.?
5ac60 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
5ac80 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
5aca0 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
5acc0 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
5ace0 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.
5ad00 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...............
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 35 71 75 6f 74 65 2e 70 DB-1.2/DB/tests/driver/15quote.p
5ae20 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.............................
5ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ae60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5ae80 20 20 20 32 35 30 33 20 20 37 34 34 31 31 30 34 36 32 34 20 20 31 32 31 34 31 20 00 00 00 00 00 ...2503..7441104624..12141......
5aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b000 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.
5b020 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
5b040 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.
5b060 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
5b080 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
5b0a0 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
5b0c0 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
5b0e0 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
5b100 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.
5b120 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
5b140 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.
5b160 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
5b180 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(....."'",......"\"",......"\
5b1a0 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 \",......"%",......"_",......"''
5b1c0 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 ",......"\"\"",......"\\\\",....
5b1e0 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 .."\\'\\'",......"\\\"\\\""..);.
5b200 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
5b220 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
5b240 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
5b260 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.
5b280 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
5b2a0 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
5b2c0 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
5b2e0 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
5b300 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"));
5b320 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
5b340 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);
5b360 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.{....
5b380 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
5b3a0 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
5b3c0 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
5b3e0 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-
5b400 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
5b420 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
5b440 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
5b460 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
5b480 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
5b4a0 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
5b4c0 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
5b4e0 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
5b500 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
5b520 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:.
5b540 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..............................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 31 63 6f 6e 6e 65 63 74 DB-1.2/DB/tests/driver/01connect
5b620 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...........................
5b640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b660 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5b680 20 20 20 20 35 30 31 20 20 37 34 34 31 31 30 34 36 31 36 20 20 31 32 34 30 35 20 00 00 00 00 00 ....501..7441104616..12405......
5b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
5b820 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(
5b840 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"
5b860 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
5b880 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)).
5b8a0 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\
5b8c0 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
5b8e0 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
5b900 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
5b920 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
5b940 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 ................................
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 30 65 72 72 6f 72 6d 61 DB-1.2/DB/tests/driver/10errorma
5ba20 70 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 p.phpt..........................
5ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ba60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5ba80 20 20 20 31 33 33 31 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 32 36 32 32 20 00 00 00 00 00 ...1331..7441104622..12622......
5baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc00 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
5bc20 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
5bc40 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
5bc60 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
5bc80 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
5bca0 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";.?>.-
5bcc0 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
5bce0 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.
5bd00 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_
5bd20 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:
5bd40 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
5bd60 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
5bd80 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
5bda0 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
5bdc0 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
5bde0 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.
5be00 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
5be20 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
5be40 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
5be60 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
5be80 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
5bea0 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.
5bec0 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........
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 34 6e 75 6d 63 6f 6c 73 DB-1.2/DB/tests/driver/04numcols
5c020 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...........................
5c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c060 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5c080 20 20 20 20 32 37 36 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 32 34 34 35 20 00 00 00 00 00 ....276..7441104622..12445......
5c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
5c220 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(
5c240 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"
5c260 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
5c280 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
5c2a0 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...
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 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 33 73 69 6d 70 6c 65 71 DB-1.2/DB/tests/driver/03simpleq
5c420 75 65 72 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 uery.phpt.......................
5c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c460 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5c480 20 20 20 20 33 30 37 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 33 33 33 36 20 00 00 00 00 00 ....307..7441104622..13336......
5c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c600 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.
5c620 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
5c640 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.
5c660 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
5c680 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
5c6a0 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
5c6c0 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..........................
5c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c800 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 31 34 66 65 74 63 68 6d 6f DB-1.2/DB/tests/driver/14fetchmo
5c820 64 65 5f 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 de_object.phpt..................
5c840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c860 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5c880 20 20 20 20 37 34 36 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 34 32 35 34 20 00 00 00 00 00 ....746..7441104622..14254......
5c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
5ca20 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
5ca40 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.
5ca60 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.
5ca80 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
5caa0 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-
5cac0 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
5cae0 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
5cb00 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
5cb20 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
5cb40 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.
5cb60 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
5cb80 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
5cba0 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.--
5cbc0 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.
5cbe0 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...........................
5cc00 44 42 2d 31 2e 32 2f 44 42 2f 74 65 73 74 73 2f 64 72 69 76 65 72 2f 30 32 66 65 74 63 68 2e 70 DB-1.2/DB/tests/driver/02fetch.p
5cc20 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.............................
5cc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cc60 00 00 00 00 31 30 30 36 34 34 20 00 20 20 32 30 31 30 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100644....2010.....764......
5cc80 20 20 20 31 37 34 35 20 20 37 34 34 31 31 30 34 36 32 32 20 20 31 32 30 37 36 20 00 00 00 00 00 ...1745..7441104622..12076......
5cca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cd40 00 00 00 00 00 00 00 00 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 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.-
5ce20 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(__
5ce40 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");
5ce60 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
5ce80 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.
5cea0 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
5cec0 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
5cee0 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.
5cf00 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,.
5cf20 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
5cf40 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,.
5cf60 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
5cf80 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
5cfa0 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
5cfc0 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
5cfe0 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
5d000 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
5d020 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
5d040 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
5d060 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
5d080 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
5d0a0 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
5d0c0 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
5d0e0 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
5d100 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
5d120 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
5d140 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
5d160 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
5d180 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
5d1a0 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
5d1c0 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
5d1e0 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............................
5d200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 ................................