PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / database / Schema / PostgresBuilder.php
independent-analytics / vendor / illuminate / database / Schema Last commit date
Grammars 2 years ago Blueprint.php 2 years ago Builder.php 2 years ago ColumnDefinition.php 2 years ago ForeignIdColumnDefinition.php 2 years ago ForeignKeyDefinition.php 2 years ago MySqlBuilder.php 2 years ago MySqlSchemaState.php 2 years ago PostgresBuilder.php 2 years ago PostgresSchemaState.php 2 years ago SQLiteBuilder.php 2 years ago SchemaState.php 2 years ago SqlServerBuilder.php 2 years ago SqliteSchemaState.php 2 years ago
PostgresBuilder.php
153 lines
1 <?php
2
3 namespace IAWP_SCOPED\Illuminate\Database\Schema;
4
5 /** @internal */
6 class PostgresBuilder extends Builder
7 {
8 /**
9 * Create a database in the schema.
10 *
11 * @param string $name
12 * @return bool
13 */
14 public function createDatabase($name)
15 {
16 return $this->connection->statement($this->grammar->compileCreateDatabase($name, $this->connection));
17 }
18 /**
19 * Drop a database from the schema if the database exists.
20 *
21 * @param string $name
22 * @return bool
23 */
24 public function dropDatabaseIfExists($name)
25 {
26 return $this->connection->statement($this->grammar->compileDropDatabaseIfExists($name));
27 }
28 /**
29 * Determine if the given table exists.
30 *
31 * @param string $table
32 * @return bool
33 */
34 public function hasTable($table)
35 {
36 [$schema, $table] = $this->parseSchemaAndTable($table);
37 $table = $this->connection->getTablePrefix() . $table;
38 return \count($this->connection->select($this->grammar->compileTableExists(), [$schema, $table])) > 0;
39 }
40 /**
41 * Drop all tables from the database.
42 *
43 * @return void
44 */
45 public function dropAllTables()
46 {
47 $tables = [];
48 $excludedTables = $this->connection->getConfig('dont_drop') ?? ['spatial_ref_sys'];
49 foreach ($this->getAllTables() as $row) {
50 $row = (array) $row;
51 $table = \reset($row);
52 if (!\in_array($table, $excludedTables)) {
53 $tables[] = $table;
54 }
55 }
56 if (empty($tables)) {
57 return;
58 }
59 $this->connection->statement($this->grammar->compileDropAllTables($tables));
60 }
61 /**
62 * Drop all views from the database.
63 *
64 * @return void
65 */
66 public function dropAllViews()
67 {
68 $views = [];
69 foreach ($this->getAllViews() as $row) {
70 $row = (array) $row;
71 $views[] = \reset($row);
72 }
73 if (empty($views)) {
74 return;
75 }
76 $this->connection->statement($this->grammar->compileDropAllViews($views));
77 }
78 /**
79 * Drop all types from the database.
80 *
81 * @return void
82 */
83 public function dropAllTypes()
84 {
85 $types = [];
86 foreach ($this->getAllTypes() as $row) {
87 $row = (array) $row;
88 $types[] = \reset($row);
89 }
90 if (empty($types)) {
91 return;
92 }
93 $this->connection->statement($this->grammar->compileDropAllTypes($types));
94 }
95 /**
96 * Get all of the table names for the database.
97 *
98 * @return array
99 */
100 public function getAllTables()
101 {
102 return $this->connection->select($this->grammar->compileGetAllTables((array) $this->connection->getConfig('schema')));
103 }
104 /**
105 * Get all of the view names for the database.
106 *
107 * @return array
108 */
109 public function getAllViews()
110 {
111 return $this->connection->select($this->grammar->compileGetAllViews((array) $this->connection->getConfig('schema')));
112 }
113 /**
114 * Get all of the type names for the database.
115 *
116 * @return array
117 */
118 public function getAllTypes()
119 {
120 return $this->connection->select($this->grammar->compileGetAllTypes());
121 }
122 /**
123 * Get the column listing for a given table.
124 *
125 * @param string $table
126 * @return array
127 */
128 public function getColumnListing($table)
129 {
130 [$schema, $table] = $this->parseSchemaAndTable($table);
131 $table = $this->connection->getTablePrefix() . $table;
132 $results = $this->connection->select($this->grammar->compileColumnListing(), [$schema, $table]);
133 return $this->connection->getPostProcessor()->processColumnListing($results);
134 }
135 /**
136 * Parse the table name and extract the schema and table.
137 *
138 * @param string $table
139 * @return array
140 */
141 protected function parseSchemaAndTable($table)
142 {
143 $table = \explode('.', $table);
144 if (\is_array($schema = $this->connection->getConfig('schema'))) {
145 if (\in_array($table[0], $schema)) {
146 return [\array_shift($table), \implode('.', $table)];
147 }
148 $schema = head($schema);
149 }
150 return [$schema ?: 'public', \implode('.', $table)];
151 }
152 }
153