Project

General

Profile

Bug #6996

Problème de script SQL sur migration 5.14 vers 5.15

Added by David Lesimple almost 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
High
Assignee:
-
Start date:
10/19/2015
Due date:
% Done:

100%

Estimated time:
Navigateur:
Tous
Votre version de Silverpeas:
5.14.4
Système d'exploitation:
Windows OS
Votre base de données:
MS SQL Server

Description

ERROR RETURNED BY THE RDBMS : La diffÚrence entre deux colonnes datetime a pr
ovoquÚ un dÚpassement de capacitÚ au moment de l'exÚcution.
*STATEMENT ON ERROR IS : /

Copying the media data.
*/

INSERT INTO SC_Gallery_Media (mediaId, mediaType, instanceId,
title, description, author, keyWord,
beginVisibilityDate, endVisibilityDate,
createDate, createdBy, lastUpdateDate, lastUpdated
By)
SELECT
cast(photoId as varchar),
'Photo',
instanceId,
title,
description,
author,
keyword,
case
when beginDate = '0000/00/00' THEN -2208992400000
else cast(DATEDIFF(s, '1970-01-01 00:00:00', convert(datetime, beginDate
, 111)) as bigint) * 1000
END,
case
when endDate = '9999/99/99' THEN 32503590000000
else cast(DATEDIFF(s, '1970-01-01 00:00:00', convert(datetime, endDate,
111)) as bigint) * 1000
END,
convert(datetime, creationDate, 111),
creatorId,
CASE WHEN updateDate IS NOT NULL THEN convert(datetime, updateDate, 111)
ELSE convert(datetime, creationDate, 111) END,
CASE WHEN updateDate IS NOT NULL THEN updateId
ELSE creatorId END
FROM
SC_Gallery_Photo_up005 d:\Silverpeas\dbRepository\mssql\gallery\up005\create
_table.sql.
ERROR - Database build FAILED (19/10/15 10:56).*********************************

History

#1

Updated by Miguel Moquillon almost 4 years ago

  • Status changed from New to Feedback

Nous avons des tests automatiques d'installation et de mise à jour Silverpeas 5.15-SNAPSHOT avec comme bases de données SQLServer, Oracle et PostgreSQL et nous avons eu aucun retour d'erreurs sur ce sujet.

Par précaution, j'ai testé la mise-à-jour d'une 5.14.4 vers la 5.15-SNAPSHOT avec une base de données SQLServer et avec un certain nombre d'images dans une gallery et là non plus, pas d'erreur de migration.

Il faudrait voir l'état de la table SC_Gallery_Photo au départ, si cette dernière aurait des données incohérentes qui provoqueraient ce problème.

#2

Updated by David Lesimple almost 4 years ago

oui mais des tests avec beaucoup de données, c'est toujours mieux ;o)
J'ai trouvé, sur la colonne endDate, on a une ligne avec 2300/02/28..
quelle est la limite ?

#3

Updated by Miguel Moquillon almost 4 years ago

https://msdn.microsoft.com/fr-fr/library/ms189794(v=sql.120).aspx
Le problème vient de la fonction datediff propre à SQLServer qui renvoie un int et non un bigint, provoquant ainsi un dépassement de taille du type lorsque la différence entre la date de début et celle de fin (utilisée pour calculer la date en secondes depuis la référence classique du 1 janvier 1970) devient trop grande.
Autrement dit, la date ne peut pas dépasser 2038/01/19 inclue.

#4

Updated by David Lesimple almost 4 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 0 to 100

Merci Miguel, cette indication propre à MSSQL pourra être mise dans la release notes ?

Also available in: Atom PDF