Skip to content

Commit 61514af

Browse files
committed
Version Bump!
Added method comments for more things Plus some white-space cleanup
1 parent ae20e4a commit 61514af

File tree

4 files changed

+266
-9
lines changed

4 files changed

+266
-9
lines changed

pudl.php

Lines changed: 178 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ abstract class pudl {
3636

3737

3838

39+
40+
////////////////////////////////////////////////////////////////////////////
41+
// CONSTRUCTOR
42+
// $DATA IS ARRAY WITH CONFIGURATION DETAILS
43+
// $AUTOCONNECT = TRUE: AUTOMATICALLY CONNECT TO THE DATA SOURCE
44+
////////////////////////////////////////////////////////////////////////////
3945
public function __construct($data, $autoconnect=true) {
4046
if (!empty($data[0]) && $data[0] instanceof pudl) {
4147
$pudl = $data[0];
@@ -82,12 +88,22 @@ public function __construct($data, $autoconnect=true) {
8288

8389

8490

91+
92+
////////////////////////////////////////////////////////////////////////////
93+
// DESTRUCTOR - FORCE ERASE SENSITIVE CONFIGURATION DATA
94+
////////////////////////////////////////////////////////////////////////////
8595
public function __destruct() {
8696
$this->_auth(NULL);
8797
}
8898

8999

90100

101+
102+
////////////////////////////////////////////////////////////////////////////
103+
// INVOKE THIS OBJECT
104+
// STRING: EXECUTE THE SQL QUERY STRING
105+
// ARRAY: GENERATE A SQL QUERY STRING THROUGH SELEX, AND EXECUTE IT
106+
////////////////////////////////////////////////////////////////////////////
91107
public function __invoke($query) {
92108
if (is_null($this->log)) {
93109
$this->log = false;
@@ -251,6 +267,9 @@ public function __invoke($query) {
251267

252268

253269

270+
////////////////////////////////////////////////////////////////////////////
271+
// CREATE AN INSTANCE OF THIS OBJECT
272+
////////////////////////////////////////////////////////////////////////////
254273
public static function instance($data, $autoconnect=true) {
255274
if (!empty($data[0]) && $data[0] instanceof pudl) {
256275
$pudl = $data[0];
@@ -287,37 +306,93 @@ public static function instance($data, $autoconnect=true) {
287306

288307

289308

309+
310+
////////////////////////////////////////////////////////////////////////////
311+
// PROCESS THE SQL QUERY THROUGH THE DATABASE ENGINE
312+
// RETURNS INSTANCE OF PUDLRESULT
313+
////////////////////////////////////////////////////////////////////////////
290314
abstract protected function process($query);
291315

316+
317+
318+
319+
////////////////////////////////////////////////////////////////////////////
320+
// GET THE ERROR CODE OF THE MOST RECENT SQL QUERY
321+
////////////////////////////////////////////////////////////////////////////
292322
abstract public function errno();
323+
324+
325+
326+
327+
////////////////////////////////////////////////////////////////////////////
328+
// GET THE ERROR TEXT OF THE MOST RECENT SQL QUERY
329+
////////////////////////////////////////////////////////////////////////////
293330
abstract public function error();
294331

295332

296333

297-
public function wait($wait=true) { return $this; }
298-
public function sync() { return $this; }
299-
public function connect() {}
334+
335+
////////////////////////////////////////////////////////////////////////////
336+
// FORCE A WAIT STATE ON THE DATABASE ENGINE
337+
////////////////////////////////////////////////////////////////////////////
338+
public function wait($wait=true) {
339+
return $this;
340+
}
341+
342+
343+
344+
345+
////////////////////////////////////////////////////////////////////////////
346+
// FORCE A SYNCHRONIZATION OF THE DATABASE STORAGE SYSTEM
347+
////////////////////////////////////////////////////////////////////////////
348+
public function sync() {
349+
return $this;
350+
}
351+
352+
353+
354+
355+
////////////////////////////////////////////////////////////////////////////
356+
// CONNECT TO THE DATABASE SERVER
357+
////////////////////////////////////////////////////////////////////////////
358+
public function connect() {}
359+
300360

301361

302362

363+
////////////////////////////////////////////////////////////////////////////
364+
// DISCONNECT FROM THE DATABASE SERVER
365+
////////////////////////////////////////////////////////////////////////////
303366
public function disconnect($trigger=true) {
304367
if ($trigger) $this->trigger('disconnect');
305368
}
306369

307370

308371

372+
373+
////////////////////////////////////////////////////////////////////////////
374+
// GET THE RAW DATABASE CONNECTION HANDLE
375+
////////////////////////////////////////////////////////////////////////////
309376
public function connection() {
310377
return $this->connection;
311378
}
312379

313380

314381

382+
383+
////////////////////////////////////////////////////////////////////////////
384+
// GET THE MOST RECENTLY EXECUTED SQL QUERY STRING
385+
////////////////////////////////////////////////////////////////////////////
315386
public function query() {
316387
return $this->query;
317388
}
318389

319390

320391

392+
393+
////////////////////////////////////////////////////////////////////////////
394+
// ENABLE LOGGING
395+
////////////////////////////////////////////////////////////////////////////
321396
public function log() {
322397
if (is_null($this->log)) {
323398
$this->log = false;
@@ -332,6 +407,10 @@ public function log() {
332407

333408

334409

410+
411+
////////////////////////////////////////////////////////////////////////////
412+
// GET A LIST OF FIELDS FOR THE GIVEN $TABLE
413+
////////////////////////////////////////////////////////////////////////////
335414
public function listFields($table, $prefix='') {
336415
if (!pudl_array($table)) $table = [$table];
337416

@@ -368,6 +447,10 @@ public function listFields($table, $prefix='') {
368447

369448

370449

450+
451+
////////////////////////////////////////////////////////////////////////////
452+
// RUN "EXPLAIN" ON THE GIVEN SQL QUERY STRING
453+
////////////////////////////////////////////////////////////////////////////
371454
public function explain($query) {
372455
$return = '';
373456
$result = $this('EXPLAIN ' . $query);
@@ -379,18 +462,30 @@ public function explain($query) {
379462

380463

381464

465+
466+
////////////////////////////////////////////////////////////////////////////
467+
// CHECK TO SEE IF THE GIVEN $ID VALUE EXISTS WITHIN THE GIVEN $TABLE
468+
////////////////////////////////////////////////////////////////////////////
382469
public function idExists($table, $col, $id=false) {
383470
return $this->cellId($table, $col, $col, $id) !== false;
384471
}
385472

386473

387474

475+
476+
////////////////////////////////////////////////////////////////////////////
477+
// CHECK TO SEE IF THE GIVEN $CLAUSE IS TRUE FOR THE GIVEN $TABLE
478+
////////////////////////////////////////////////////////////////////////////
388479
public function clauseExists($table, $clause) {
389480
return $this->cell($table, true, $clause) !== false;
390481
}
391482

392483

393484

485+
486+
////////////////////////////////////////////////////////////////////////////
487+
// GET THE NUMBER OF ROWS FOUND
488+
////////////////////////////////////////////////////////////////////////////
394489
public function found() {
395490
$result = $this('SELECT FOUND_ROWS()');
396491
if ($result instanceof pudlStringResult) return $result;
@@ -400,6 +495,10 @@ public function found() {
400495

401496

402497

498+
499+
////////////////////////////////////////////////////////////////////////////
500+
// ???
501+
////////////////////////////////////////////////////////////////////////////
403502
public function listItems($type, $like=false, $limit=false, $offset=false) {
404503
$query = 'SHOW ' . $type;
405504
if (!empty($like)) $query .= ' LIKE ' . $this->_value($like);
@@ -419,28 +518,50 @@ public function listItems($type, $like=false, $limit=false, $offset=false) {
419518

420519

421520

521+
522+
////////////////////////////////////////////////////////////////////////////
523+
// GET THE GLOBAL STATUS
524+
////////////////////////////////////////////////////////////////////////////
422525
public function globals($like=false, $limit=false, $offset=false) {
423526
return $this->listItems('GLOBAL STATUS', $like, $limit, $offset);
424527
}
425528

426529

530+
531+
532+
////////////////////////////////////////////////////////////////////////////
533+
// GET VARIABLES
534+
////////////////////////////////////////////////////////////////////////////
427535
public function variables($like=false, $limit=false, $offset=false) {
428536
return $this->listItems('VARIABLES', $like, $limit, $offset);
429537
}
430538

431539

540+
541+
542+
////////////////////////////////////////////////////////////////////////////
543+
// GET THE DATABASE SERVER STATUS
544+
////////////////////////////////////////////////////////////////////////////
432545
public function status($like=false, $limit=false, $offset=false) {
433546
return $this->listItems('STATUS', $like, $limit, $offset);
434547
}
435548

436549

437550

551+
552+
////////////////////////////////////////////////////////////////////////////
553+
// ENABLE QUERY BENCHMARKING
554+
////////////////////////////////////////////////////////////////////////////
438555
public function benchmark($benchmark) {
439556
$this->bench = $benchmark;
440557
}
441558

442559

443560

561+
562+
////////////////////////////////////////////////////////////////////////////
563+
// GET THE APPLICATION SYNCED TIME
564+
////////////////////////////////////////////////////////////////////////////
444565
public function time($source=false) {
445566
if ($source === false) {
446567
if (is_object($this->time)) return $this->time->time();
@@ -452,6 +573,10 @@ public function time($source=false) {
452573

453574

454575

576+
577+
////////////////////////////////////////////////////////////////////////////
578+
// GET THE APPLICATION SYNCED MICRO-TIME
579+
////////////////////////////////////////////////////////////////////////////
455580
public function microtime($source=false) {
456581
if ($source === false) {
457582
if (is_object($this->microtime)) return $this->microtime->microtime();
@@ -463,51 +588,84 @@ public function microtime($source=false) {
463588

464589

465590

591+
592+
////////////////////////////////////////////////////////////////////////////
593+
// SET THE TIMEOUT VALUE
594+
////////////////////////////////////////////////////////////////////////////
466595
public function timeout($timeout) {}
467596

468597

469598

599+
600+
////////////////////////////////////////////////////////////////////////////
601+
// GET THE DATABASE SERVER FOR THE ACTIVE CONNECTION
602+
////////////////////////////////////////////////////////////////////////////
470603
public function server() {
471604
$auth = $this->auth();
472605
return $auth['server'];
473606
}
474607

475608

476609

610+
611+
////////////////////////////////////////////////////////////////////////////
612+
// CHECK IF WE'RE IN STRING-GENERATOR MODE
613+
////////////////////////////////////////////////////////////////////////////
477614
public function isString() {
478615
return end($this->string);
479616
}
480617

481618

482619

620+
621+
////////////////////////////////////////////////////////////////////////////
622+
// ENABLE STRING-GENERATOR MODE
623+
// PUDL WONT EXECUTE SQL QUERY AFTER GENERATING IT
624+
////////////////////////////////////////////////////////////////////////////
483625
public function string() {
484626
$this->string[] = true;
485627
return $this;
486628
}
487629

488630

489631

632+
633+
////////////////////////////////////////////////////////////////////////////
634+
// DISABLE STRING-GENERATOR MODE
635+
////////////////////////////////////////////////////////////////////////////
490636
public function destring() {
491637
array_pop($this->string);
492638
return $this;
493639
}
494640

495641

496642

643+
644+
////////////////////////////////////////////////////////////////////////////
645+
// SET THE NEXT QUERY TO BE A SUB-QUERY WITH "IN"
646+
////////////////////////////////////////////////////////////////////////////
497647
public function in() {
498648
$this->string[] = ' IN ';
499649
return $this;
500650
}
501651

502652

503653

654+
655+
////////////////////////////////////////////////////////////////////////////
656+
// SET THE NEXT QUERY TO BE A SUB-QUERY WITH "NOT IN"
657+
////////////////////////////////////////////////////////////////////////////
504658
public function notIn() {
505659
$this->string[] = ' NOT IN ';
506660
return $this;
507661
}
508662

509663

510664

665+
666+
////////////////////////////////////////////////////////////////////////////
667+
// SET A VARIABLE ON THE DATABASE SERVER
668+
////////////////////////////////////////////////////////////////////////////
511669
public function set($variable, $value, $global=false) {
512670
$query = 'SET ';
513671
$query .= $this->_value(new pudlGlobal($variable, $global));
@@ -519,6 +677,10 @@ public function set($variable, $value, $global=false) {
519677

520678

521679

680+
681+
////////////////////////////////////////////////////////////////////////////
682+
// DATE/TIME
683+
////////////////////////////////////////////////////////////////////////////
522684
public function datetime($time=false) {
523685
if ($time === false) $time = $this->time();
524686

@@ -533,9 +695,8 @@ public function datetime($time=false) {
533695

534696

535697

536-
537698
////////////////////////////////////////////////////////////////////////////
538-
// GET THE LOCAL PATH OF THE PUDL LIBRARY
699+
// GET THE LOCAL FILE SYSTEM PATH OF THE PUDL LIBRARY
539700
////////////////////////////////////////////////////////////////////////////
540701
public static function dir() {
541702
return __DIR__;
@@ -555,6 +716,17 @@ public static function dir() {
555716
/** @var array */ private $listcache = [];
556717
/** @var mixed */ protected $connection = NULL;
557718
/** @var array */ protected $string = [];
558-
/** @var string */ public static $version = 'PUDL 2.9.0';
719+
720+
721+
722+
723+
////////////////////////////////////////////////////////////////////////////
724+
// PUDL VERSION INFORMATION
725+
////////////////////////////////////////////////////////////////////////////
726+
const version = '2.9.1';
727+
const version_id = 20901;
728+
const version_major = 2;
729+
const version_minor = 9;
730+
const version_release = 1;
559731

560732
}

0 commit comments

Comments
 (0)