Vvveb icon indicating copy to clipboard operation
Vvveb copied to clipboard

FUNCTION bootstrap_builder.JSON_ARRAYAGG does not exist

Open ASFAR2023 opened this issue 1 year ago • 1 comments

i get this first login

FUNCTION bootstrap_builder.JSON_ARRAYAGG does not exist
SELECT  pd.*,product.*, product.product_id as array_key

						 
				,(SELECT JSON_ARRAYAGG( JSON_OBJECT('id', pi.product_image_id, 'image', pi.image) ) 
				FROM product_image as pi WHERE pi.product_id = product.product_id GROUP BY pi.product_id) as images
				

		 
		FROM product
		
			LEFT JOIN product_to_site p2s ON (product.product_id = p2s.product_id) 
			LEFT JOIN product_content pd ON (
				product.product_id = pd.product_id
		
						
					AND pd.language_id = 1
				

			)  

							

			
			WHERE p2s.site_id = 1

					 		
			ORDER BY product.product_id DESC
		LIMIT 0, 4
 - SELECT  pd.*,product.*, product.product_id as array_key

						 
				,(SELECT JSON_ARRAYAGG( JSON_OBJECT('id', pi.product_image_id, 'image', pi.image) ) 
				FROM product_image as pi WHERE pi.product_id = product.product_id GROUP BY pi.product_id) as images
				

		 
		FROM product
		
			LEFT JOIN product_to_site p2s ON (product.product_id = p2s.product_id) 
			LEFT JOIN product_content pd ON (
				product.product_id = pd.product_id
		
						
					AND pd.language_id = :language_id
				

			)  

							

			
			WHERE p2s.site_id = :site_id

					 		
			ORDER BY product.product_id DESC
		LIMIT :start, :limit

/home/bs.infinyteam.com/public_html/system/db/mysqli.php on line 307
Code
throw new \Exception($message, $e->getCode()); // <==

		list($parameters, $types) = $this->paramsToQmark($sql, $params, $paramTypes);



		try {

			$stmt = self::$link->prepare($sql);

		} catch (\mysqli_sql_exception $e) {

			$message = $e->getMessage() . "\n" . $this->debugSql($origSql, $params, $paramTypes) . "\n - " . $origSql;



			throw new \Exception($message, $e->getCode());	 // <==

		}



		if ($stmt && ! empty($types)) {

			array_unshift($parameters, $types);



			//hack for php 7.x bind_param "expected to be a reference, value given" stupid warning

Trace

#0 /home/bs.infinyteam.com/public_html/storage/model/admin/productsql.mysqli.php(6008): Vvveb\System\Db\Mysqli->execute()
#1 /home/bs.infinyteam.com/public_html/admin/component/products.php(54): Vvveb\Sql\ProductSQL->getAll()
#2 /home/bs.infinyteam.com/public_html/system/component/component.php(229): Vvveb\Component\Products->results()
#3 /home/bs.infinyteam.com/public_html/system/component/component.php(89): Vvveb\System\Component\Component->loadComponents()
#4 /home/bs.infinyteam.com/public_html/system/component/component.php(66): Vvveb\System\Component\Component->__construct()
#5 /home/bs.infinyteam.com/public_html/system/core/view.php(382): Vvveb\System\Component\Component::getInstance()
#6 /home/bs.infinyteam.com/public_html/system/core/response.php(120): Vvveb\System\Core\View->render()
#7 /home/bs.infinyteam.com/public_html/system/core/frontcontroller.php(292): Vvveb\System\Core\Response->output()
#8 /home/bs.infinyteam.com/public_html/system/core/frontcontroller.php(339): Vvveb\System\Core\FrontController::call()
#9 /home/bs.infinyteam.com/public_html/system/core/frontcontroller.php(403): Vvveb\System\Core\FrontController::redirect()
#10 /home/bs.infinyteam.com/public_html/system/core/startup.php(381): Vvveb\System\Core\FrontController::dispatch()
#11 /home/bs.infinyteam.com/public_html/index.php(149): Vvveb\System\Core\start()
#12 /home/bs.infinyteam.com/public_html/admin/index.php(41): include('...')
#13 /home/bs.infinyteam.com/public_html/public/admin/index.php(26): include('...')
#14 {main}

ASFAR2023 avatar Nov 09 '24 18:11 ASFAR2023

It looks that you have an old version of Mysql/MariaDB because JSON_ARRAYAGG is missing.

JSON_ARRAYAGG was added in MySQL version 5.7.22 and in MariaDB version 10.5.0

You need to upgrade your database or reinstall using SQLite instead of MySql.

You can delete config/db.php to reset db config and install page will show to choose SQLite.

givanz avatar Nov 11 '24 12:11 givanz