Describe the bug
Result export query missing space on first union statement, this is cause error when restore / import to mysql or mariadb
To Reproduce
Steps to reproduce the behavior:
- Create view with contains union all
- Export view to generate sql query
- See result query generate by phpmyadmin
Expected behavior
query exported valid when contain union
Screenshots
-- phpMyAdmin SQL Dump
CREATE ALGORITHM=UNDEFINED DEFINER=`easywawe`@`localhost` SQL SECURITY DEFINER VIEW `master_inventaris` AS SELECT 'inventaris_asset' AS `asset`, `inventaris_asset`.`id` AS `id`, `inventaris_asset`.`nama_barang` AS `nama_barang`, `inventaris_asset`.`kode_barang` AS `kode_barang`, 'Baik' AS `kondisi`, `inventaris_asset`.`keterangan` AS `keterangan`, `inventaris_asset`.`asal` AS `asal`, `inventaris_asset`.`tahun_pengadaan` AS `tahun_pengadaan` FROM `inventaris_asset` WHERE `inventaris_asset`.`visible` = **1union allselect** 'inventaris_gedung' AS `asset`,`inventaris_gedung`.`id` AS `id`,`inventaris_gedung`.`nama_barang` AS `nama_barang`,`inventaris_gedung`.`kode_barang` AS `kode_barang`,`inventaris_gedung`.`kondisi_bangunan` AS `kondisi_bangunan`,`inventaris_gedung`.`keterangan` AS `keterangan`,`inventaris_gedung`.`asal` AS `asal`,year(`inventaris_gedung`.`tanggal_dokument`) AS `tahun_pengadaan` from `inventaris_gedung` where `inventaris_gedung`.`visible` = 1 union all select 'inventaris_jalan' AS `asset`,`inventaris_jalan`.`id` AS `id`,`inventaris_jalan`.`nama_barang` AS `nama_barang`,`inventaris_jalan`.`kode_barang` AS `kode_barang`,`inventaris_jalan`.`kondisi` AS `kondisi`,`inventaris_jalan`.`keterangan` AS `keterangan`,`inventaris_jalan`.`asal` AS `asal`,year(`inventaris_jalan`.`tanggal_dokument`) AS `tahun_pengadaan` from `inventaris_jalan` where `inventaris_jalan`.`visible` = 1 union all select 'inventaris_peralatan' AS `asset`,`inventaris_peralatan`.`id` AS `id`,`inventaris_peralatan`.`nama_barang` AS `nama_barang`,`inventaris_peralatan`.`kode_barang` AS `kode_barang`,'Baik' AS `Baik`,`inventaris_peralatan`.`keterangan` AS `keterangan`,`inventaris_peralatan`.`asal` AS `asal`,`inventaris_peralatan`.`tahun_pengadaan` AS `tahun_pengadaan` from `inventaris_peralatan` where `inventaris_peralatan`.`visible` = 1 ;
expected result :
first union statement must have space
1union allselect become 1 union all select
Table structure for example
CREATE TABLE `inventaris_gedung` (
`id` int(11) NOT NULL,
`nama_barang` varchar(255) NOT NULL,
`kode_barang` varchar(64) NOT NULL,
`register` varchar(64) NOT NULL,
`kondisi_bangunan` varchar(255) NOT NULL,
`kontruksi_bertingkat` varchar(255) NOT NULL,
`kontruksi_beton` tinyint(1) DEFAULT 0,
`luas_bangunan` int(64) NOT NULL,
`letak` varchar(255) NOT NULL,
`tanggal_dokument` date DEFAULT NULL,
`no_dokument` varchar(255) DEFAULT NULL,
`luas` int(64) DEFAULT NULL,
`status_tanah` varchar(255) DEFAULT NULL,
`kode_tanah` varchar(255) DEFAULT NULL,
`asal` varchar(255) NOT NULL,
`harga` double NOT NULL,
`keterangan` mediumtext NOT NULL,
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`created_by` int(11) NOT NULL,
`updated_at` timestamp NOT NULL DEFAULT current_timestamp(),
`updated_by` int(11) NOT NULL,
`status` int(1) NOT NULL DEFAULT 0,
`visible` int(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
CREATE TABLE `inventaris_jalan` (
`id` int(11) NOT NULL,
`nama_barang` varchar(255) NOT NULL,
`kode_barang` varchar(64) NOT NULL,
`register` varchar(64) NOT NULL,
`kontruksi` varchar(255) NOT NULL,
`panjang` int(64) NOT NULL,
`lebar` int(64) NOT NULL,
`luas` int(64) NOT NULL,
`letak` mediumtext DEFAULT NULL,
`tanggal_dokument` date NOT NULL,
`no_dokument` varchar(255) DEFAULT NULL,
`status_tanah` varchar(255) DEFAULT NULL,
`kode_tanah` varchar(255) DEFAULT NULL,
`kondisi` varchar(255) NOT NULL,
`asal` varchar(255) NOT NULL,
`harga` double NOT NULL,
`keterangan` mediumtext NOT NULL,
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`created_by` int(11) NOT NULL,
`updated_at` timestamp NOT NULL DEFAULT current_timestamp(),
`updated_by` int(11) NOT NULL,
`status` int(1) NOT NULL DEFAULT 0,
`visible` int(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
Server configuration
- Operating system:
- Web server: cpsrvd 11.112.0.3
- Database version: 10.6.14-MariaDB
- PHP version: 8.1.16
- phpMyAdmin version: 5.2.1
Client configuration
- Browser: Chroome
- Operating system: Ubuntu 22.04
Additional context
Add any other context about the bug here.
Describe the bug
Result export query missing space on first union statement, this is cause error when restore / import to mysql or mariadb
To Reproduce
Steps to reproduce the behavior:
Expected behavior
query exported valid when contain union
Screenshots
-- phpMyAdmin SQL Dump CREATE ALGORITHM=UNDEFINED DEFINER=`easywawe`@`localhost` SQL SECURITY DEFINER VIEW `master_inventaris` AS SELECT 'inventaris_asset' AS `asset`, `inventaris_asset`.`id` AS `id`, `inventaris_asset`.`nama_barang` AS `nama_barang`, `inventaris_asset`.`kode_barang` AS `kode_barang`, 'Baik' AS `kondisi`, `inventaris_asset`.`keterangan` AS `keterangan`, `inventaris_asset`.`asal` AS `asal`, `inventaris_asset`.`tahun_pengadaan` AS `tahun_pengadaan` FROM `inventaris_asset` WHERE `inventaris_asset`.`visible` = **1union allselect** 'inventaris_gedung' AS `asset`,`inventaris_gedung`.`id` AS `id`,`inventaris_gedung`.`nama_barang` AS `nama_barang`,`inventaris_gedung`.`kode_barang` AS `kode_barang`,`inventaris_gedung`.`kondisi_bangunan` AS `kondisi_bangunan`,`inventaris_gedung`.`keterangan` AS `keterangan`,`inventaris_gedung`.`asal` AS `asal`,year(`inventaris_gedung`.`tanggal_dokument`) AS `tahun_pengadaan` from `inventaris_gedung` where `inventaris_gedung`.`visible` = 1 union all select 'inventaris_jalan' AS `asset`,`inventaris_jalan`.`id` AS `id`,`inventaris_jalan`.`nama_barang` AS `nama_barang`,`inventaris_jalan`.`kode_barang` AS `kode_barang`,`inventaris_jalan`.`kondisi` AS `kondisi`,`inventaris_jalan`.`keterangan` AS `keterangan`,`inventaris_jalan`.`asal` AS `asal`,year(`inventaris_jalan`.`tanggal_dokument`) AS `tahun_pengadaan` from `inventaris_jalan` where `inventaris_jalan`.`visible` = 1 union all select 'inventaris_peralatan' AS `asset`,`inventaris_peralatan`.`id` AS `id`,`inventaris_peralatan`.`nama_barang` AS `nama_barang`,`inventaris_peralatan`.`kode_barang` AS `kode_barang`,'Baik' AS `Baik`,`inventaris_peralatan`.`keterangan` AS `keterangan`,`inventaris_peralatan`.`asal` AS `asal`,`inventaris_peralatan`.`tahun_pengadaan` AS `tahun_pengadaan` from `inventaris_peralatan` where `inventaris_peralatan`.`visible` = 1 ;expected result :
first union statement must have space
1union allselect become 1 union all select
Table structure for example
Server configuration
Client configuration
Additional context
Add any other context about the bug here.