firebird
firebird copied to clipboard
Queries metadata are different between FB2.5 and F4.0
Hi everyone,
We're working on a big soft in Java, and we want to migrate from FB2.5 to FB4.0. We are using our self home made ORM to create some beans. This ORM is using queries meta data to match a class with a table name. The problem is that we've got some differencies in metada when we're using sub queries.
Our sub query :
LEFT OUTER JOIN ( SELECT PRO_EVT_CYCLE.* , PRO_EVT_CYCLE_JOUR.ID_PROEVT_CYCLE_J AS ID_EJ , PRO_EVT_CYCLE_JOUR.REF_PRO_EVT_CYCLE AS REF_PRO_EVT_CYCLE_EJ , PRO_EVT_CYCLE_JOUR.RANG_SEM_PROEVT_CYCLE_J AS RANG_SEM_EJ , PRO_EVT_CYCLE_JOUR.EST_MODIF_PROEVT_CYCLE_J AS EST_MODIF_EJ , PRO_EVT_CYCLE_JOUR.REF_TYPE_JOUR AS REF_TYPE_JOUR_EJ , PRO_EVT_CYCLE_JOUR.REF_ENTITE AS REF_ENTITE_EJ , PRO_EVT_CYCLE_JOUR.REF_TYPE_EVT_PLANNING AS REF_TYPE_EVT_PLANNING_EJ , PRO_EVT_CYCLE_JOUR.REF_PARAM_JOUR_TYPE AS REF_PARAM_JOUR_TYPE_EJ , PRO_EVT_CYCLE_JOUR.REF_PARAM_TOUR_MODEL AS REF_PARAM_TOUR_MODEL_EJ , PRO_EVT_CYCLE_JOUR.REF_PARAM_MOMENT AS REF_PARAM_MOMENT_EJ , PRO_EVT_CYCLE_JOUR.REF_PARAM_SECTEUR AS REF_PARAM_SECTEUR_EJ , PRO_EVT_CYCLE_JOUR.REF_PARAM_TYPE_EVT_PLANNING AS REF_PARAM_TYPE_EVT_PLANNING_EJ, COALESCE(PRO_EVT_CYCLE_JOUR.H_deb_PROEVT_CYCLE_J, PARAM_JOUR_TYPE.H_deb_PARAM_JOUR_TYPE, FROM PRO_EVT_CYCLE LEFT OUTER JOIN PRO_EVT_CYCLE_JOUR ON PRO_EVT_CYCLE_JOUR.REF_PRO_EVT_CYCLE = PRO_EVT_CYCLE.ID_PROEVT_CYCLE LEFT OUTER JOIN PARAM_TYPE_EVT_PLANNING PARAM_TYPE_EVT_PLANNING_EJ ON PARAM_TYPE_EVT_PLANNING_EJ.ID_PRM_TYPE_EVT_PLANNING = PRO_EVT_CYCLE_JOUR.REF_PARAM_TYPE_EVT_PLANNING LEFT OUTER JOIN PARAM_JOUR_TYPE ON PARAM_JOUR_TYPE.ID_PARAM_JOUR_TYPE = PRO_EVT_CYCLE_JOUR.REF_PARAM_JOUR_TYPE LEFT OUTER JOIN PARAM_TOUR_MODEL ON PARAM_TOUR_MODEL.ID_PARAM_TOUR_MODEL = PRO_EVT_CYCLE_JOUR.REF_PARAM_TOUR_MODEL LEFT OUTER JOIN PARAM_MOMENT ON PARAM_MOMENT.ID_PARAM_MOMENT = PRO_EVT_CYCLE_JOUR.REF_PARAM_MOMENT LEFT OUTER JOIN PARAM_MOMENT_VERSION ON PARAM_MOMENT_VERSION.REF_PARAM_MOMENT = PRO_EVT_CYCLE_JOUR.REF_PARAM_MOMENT AND PARAM_MOMENT_VERSION.REF_PARAM_PLANNING_VERSION IN (1,2) LEFT OUTER JOIN PARAM_TOUR_MODEL_MOMENT ON PARAM_TOUR_MODEL_MOMENT.REF_PARAM_TOUR_MODEL = PARAM_TOUR_MODEL.ID_PARAM_TOUR_MODEL ) EVT_CYCLE
In FB 2.5, it returns original fields : Field #48: PRO_EVT_CYCLE.ID_PROEVT_CYCLE Alias:ID_PROEVT_CYCLE Type:BIGINT Field #49: PRO_EVT_CYCLE.REF_PRO_CONTRAT Alias:REF_PRO_CONTRAT Type:BIGINT Field #50: PRO_EVT_CYCLE.DUREE_CYCLE_PROEVT_CYCLE Alias:DUREE_CYCLE_PROEVT_CYCLE Type:INTEGER Field #51: PRO_EVT_CYCLE.D_REFERENCE_PROEVT_CYCLE Alias:D_REFERENCE_PROEVT_CYCLE Type:DATE Field #52: PRO_EVT_CYCLE_JOUR.ID_PROEVT_CYCLE_J Alias:ID_EJ Type:BIGINT Field #53: PRO_EVT_CYCLE_JOUR.REF_PRO_EVT_CYCLE Alias:REF_PRO_EVT_CYCLE_EJ Type:BIGINT Field #54: PRO_EVT_CYCLE_JOUR.RANG_SEM_PROEVT_CYCLE_J Alias:RANG_SEM_EJ Type:INTEGER Field #55: PRO_EVT_CYCLE_JOUR.EST_MODIF_PROEVT_CYCLE_J Alias:EST_MODIF_EJ Type:INTEGER Field #56: PRO_EVT_CYCLE_JOUR.REF_TYPE_JOUR Alias:REF_TYPE_JOUR_EJ Type:BIGINT Field #57: PRO_EVT_CYCLE_JOUR.REF_ENTITE Alias:REF_ENTITE_EJ Type:BIGINT Field #58: PRO_EVT_CYCLE_JOUR.REF_TYPE_EVT_PLANNING Alias:REF_TYPE_EVT_PLANNING_EJ Type:BIGINT Field #59: PRO_EVT_CYCLE_JOUR.REF_PARAM_JOUR_TYPE Alias:REF_PARAM_JOUR_TYPE_EJ Type:BIGINT Field #60: PRO_EVT_CYCLE_JOUR.REF_PARAM_TOUR_MODEL Alias:REF_PARAM_TOUR_MODEL_EJ Type:BIGINT Field #61: PRO_EVT_CYCLE_JOUR.REF_PARAM_MOMENT Alias:REF_PARAM_MOMENT_EJ Type:BIGINT Field #62: PRO_EVT_CYCLE_JOUR.REF_PARAM_SECTEUR Alias:REF_PARAM_SECTEUR_EJ Type:BIGINT Field #63: PRO_EVT_CYCLE_JOUR.REF_PARAM_TYPE_EVT_PLANNING Alias:REF_PARAM_TYPE_EVT_PLANNING_EJ Type:BIGINT Field #64: . Alias:H_DEB_EJ Type:TIME Field #65: . Alias:H_FIN_EJ Type:TIME Field #66: . Alias:J1_EJ Type:INTEGER Field #67: PARAM_TYPE_EVT_PLANNING.ID_PRM_TYPE_EVT_PLANNING Alias:ID_PRM_TYPE_EVT_PLANNING_EJ Type:BIGINT Field #68: PARAM_TYPE_EVT_PLANNING.CODE_PRM_TYPE_EVT_PLANNING Alias:CODE_PRM_TYPE_EVT_PLANNING_EJ Type:STRING(5) Field #69: PARAM_TYPE_EVT_PLANNING.LIB_PRM_TYPE_EVT_PLANNING Alias:LIB_PRM_TYPE_EVT_PLANNING_EJ Type:STRING(64) Field #70: PARAM_TYPE_EVT_PLANNING.COULEUR_PRM_TYPE_EVT_PLANNING Alias:COULEUR_PRM_TYPE_EVT_PLANNING_E Type:INTEGER Field #71: PARAM_JOUR_TYPE.ID_PARAM_JOUR_TYPE Alias:ID_PARAM_JOUR_TYPE Type:BIGINT Field #72: PARAM_JOUR_TYPE.CODE_PARAM_JOUR_TYPE Alias:CODE_PARAM_JOUR_TYPE Type:STRING(5) Field #73: PARAM_JOUR_TYPE.LIB_PARAM_JOUR_TYPE Alias:LIB_PARAM_JOUR_TYPE Type:STRING(64) Field #74: PARAM_JOUR_TYPE.COULEUR_PARAM_JOUR_TYPE Alias:COULEUR_PARAM_JOUR_TYPE Type:INTEGER Field #75: PARAM_JOUR_TYPE.H_DEB_PARAM_JOUR_TYPE Alias:H_DEB_PARAM_JOUR_TYPE Type:TIME Field #76: PARAM_JOUR_TYPE.H_FIN_PARAM_JOUR_TYPE Alias:H_FIN_PARAM_JOUR_TYPE Type:TIME Field #77: PARAM_JOUR_TYPE.J1_PARAM_JOUR_TYPE Alias:J1_PARAM_JOUR_TYPE Type:INTEGER Field #78: PARAM_TOUR_MODEL.ID_PARAM_TOUR_MODEL Alias:ID_PARAM_TOUR_MODEL Type:BIGINT Field #79: PARAM_TOUR_MODEL.REF_ENTITE Alias:REF_ENTITE_PARAM_TOUR_MODEL Type:BIGINT Field #80: PARAM_TOUR_MODEL.CODE_PARAM_TOUR_MODEL Alias:CODE_PARAM_TOUR_MODEL Type:STRING(5) Field #81: PARAM_TOUR_MODEL.LIB_PARAM_TOUR_MODEL Alias:LIB_PARAM_TOUR_MODEL Type:STRING(64) Field #82: PARAM_TOUR_MODEL.COULEUR_PARAM_TOUR_MODEL Alias:COULEUR_PARAM_TOUR_MODEL Type:INTEGER Field #83: PARAM_MOMENT.ID_PARAM_MOMENT Alias:ID_PARAM_MOMENT Type:BIGINT Field #84: PARAM_MOMENT.CODE_PARAM_MOMENT Alias:CODE_PARAM_MOMENT Type:STRING(5) Field #85: PARAM_MOMENT.COULEUR_PARAM_MOMENT Alias:COULEUR_PARAM_MOMENT Type:INTEGER Field #86: PARAM_MOMENT.LIB_PARAM_MOMENT Alias:LIB_PARAM_MOMENT Type:STRING(64) Field #87: PARAM_MOMENT_VERSION.H_DEB_PRM_MOMENT_V Alias:H_DEB_PRM_MOMENT_V Type:TIME Field #88: PARAM_MOMENT_VERSION.H_FIN_PRM_MOMENT_V Alias:H_FIN_PRM_MOMENT_V Type:TIME Field #89: PARAM_MOMENT_VERSION.J1_PRM_MOMENT_V Alias:J1_PRM_MOMENT_V Type:INTEGER
In FB4.0, all fields are ALIAS : Field #48: . Alias:ID_PROEVT_CYCLE Type:BIGINT Field #49: . Alias:REF_PRO_CONTRAT Type:BIGINT Field #50: . Alias:DUREE_CYCLE_PROEVT_CYCLE Type:INTEGER Field #51: . Alias:D_REFERENCE_PROEVT_CYCLE Type:DATE Field #52: . Alias:ID_EJ Type:BIGINT Field #53: . Alias:REF_PRO_EVT_CYCLE_EJ Type:BIGINT Field #54: . Alias:RANG_SEM_EJ Type:INTEGER Field #55: . Alias:EST_MODIF_EJ Type:INTEGER Field #56: . Alias:REF_TYPE_JOUR_EJ Type:BIGINT Field #57: . Alias:REF_ENTITE_EJ Type:BIGINT Field #58: . Alias:REF_TYPE_EVT_PLANNING_EJ Type:BIGINT Field #59: . Alias:REF_PARAM_JOUR_TYPE_EJ Type:BIGINT Field #60: . Alias:REF_PARAM_TOUR_MODEL_EJ Type:BIGINT Field #61: . Alias:REF_PARAM_MOMENT_EJ Type:BIGINT Field #62: . Alias:REF_PARAM_SECTEUR_EJ Type:BIGINT Field #63: . Alias:REF_PARAM_TYPE_EVT_PLANNING_EJ Type:BIGINT Field #64: . Alias:H_DEB_EJ Type:TIME Field #65: . Alias:H_FIN_EJ Type:TIME Field #66: . Alias:J1_EJ Type:INTEGER Field #67: . Alias:ID_PRM_TYPE_EVT_PLANNING_EJ Type:BIGINT Field #68: . Alias:CODE_PRM_TYPE_EVT_PLANNING_EJ Type:STRING(5) Field #69: . Alias:LIB_PRM_TYPE_EVT_PLANNING_EJ Type:STRING(64) Field #70: . Alias:COULEUR_PRM_TYPE_EVT_PLANNING_E Type:INTEGER Field #71: . Alias:ID_PARAM_JOUR_TYPE Type:BIGINT Field #72: . Alias:CODE_PARAM_JOUR_TYPE Type:STRING(5) Field #73: . Alias:LIB_PARAM_JOUR_TYPE Type:STRING(64) Field #74: . Alias:COULEUR_PARAM_JOUR_TYPE Type:INTEGER Field #75: . Alias:H_DEB_PARAM_JOUR_TYPE Type:TIME Field #76: . Alias:H_FIN_PARAM_JOUR_TYPE Type:TIME Field #77: . Alias:J1_PARAM_JOUR_TYPE Type:INTEGER Field #78: . Alias:ID_PARAM_TOUR_MODEL Type:BIGINT Field #79: . Alias:REF_ENTITE_PARAM_TOUR_MODEL Type:BIGINT Field #80: . Alias:CODE_PARAM_TOUR_MODEL Type:STRING(5) Field #81: . Alias:LIB_PARAM_TOUR_MODEL Type:STRING(64) Field #82: . Alias:COULEUR_PARAM_TOUR_MODEL Type:INTEGER Field #83: . Alias:ID_PARAM_MOMENT Type:BIGINT Field #84: . Alias:CODE_PARAM_MOMENT Type:STRING(5) Field #85: . Alias:COULEUR_PARAM_MOMENT Type:INTEGER Field #86: . Alias:LIB_PARAM_MOMENT Type:STRING(64) Field #87: . Alias:H_DEB_PRM_MOMENT_V Type:TIME Field #88: . Alias:H_FIN_PRM_MOMENT_V Type:TIME Field #89: . Alias:J1_PRM_MOMENT_V Type:INTEGER
Thanks for all,