Yazılımımızda hala 8.4 postgresq kullanıyoruz. Archlinux Üzerinden 8.4 yükleme olanağı bulamadım, bu yüzden 9.5 ile bir göreve başladım ve bunu 8.4'e çevirmek istedim. Artık UPDATE sorgusunu her iki sürümde de çalıştırabilirim ama farklı sonuçlar elde ediyorum.güncelleme sonuçları postgresql 8.4 ve 9.5 farklı
Sorgu:
UPDATE properties
SET propertyvalue = regexp_replace(propertyvalue, E'[\u0001-\u001f]', '', 'g')
WHERE properties_id in
(SELECT DISTINCT(properties_id)
FROM regexp_matches(propertyvalue, E'[\u0001-\u001f]'));
İş Akışı Ben veritabanını REINIT ve her iki versiyonda içine aynı sql-dökümü dökümü olmasıdır.
8.4'de "UPDATE 2689816" yazıyor ve 9.5 üzerinde "UPDATE 241294" yazıyor. Beni en çok kafasını karıştıran ne
count
--------
241294
(1 row)
: Ben
SELECT count(*)
FROM properties
WHERE properties_id in
(SELECT DISTINCT(properties_id)
FROM regexp_matches(propertyvalue, E'[\\u0001-\\u001f]'));
çalıştırdığınızda
Ben her iki versiyonu ile aynı sonucu almak. regexp_matches, deseni regexp_replace'den farklı şekilde yorumluyor gibi görünüyor mu?
Konuyla ilgili herhangi bir deneyimi var mı?