Sito web Arcade Database

Il database che raccoglie tutte le informazioni sui giochi, video, screenshot e tanto altro ancora

Moderatore: Moderatore ADB

Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4285
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 18 volte

Re: Sito web Arcade Database

Messaggio da pucci »

non ho capito questa parte della query di update che usi per togliere il flag mamecab only

Codice: Seleziona tutto

WHERE game_ismamecab_sn=1 AND NOT(
	game_isarcade_sn=1 AND game_isbios_sn=0 AND game_isdevice_sn=0 
	AND game_ismechanical_sn=0 AND display_screens<>0 AND NOT EXISTS(
		SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id 
		AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").")
	))";
l'update a "non mamecab" avviene solo se attualmente è considerato mamecab ed è vera questa condizione

Codice: Seleziona tutto

NOT(
	game_isarcade_sn=1 AND game_isbios_sn=0 AND game_isdevice_sn=0 
	AND game_ismechanical_sn=0 AND display_screens<>0 AND NOT EXISTS(
		SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id 
		AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").")
	))";
essendoci un NOT deve essere falsa questa condizione

Codice: Seleziona tutto

game_isarcade_sn=1 AND game_isbios_sn=0 AND game_isdevice_sn=0 
	AND game_ismechanical_sn=0 AND display_screens<>0 AND NOT EXISTS(
		SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id 
		AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").")
essendoci tanti AND perchè sia falsa basta che uno degli elementi sia falso:

game_isarcade_sn=1 --> se non è arcade (quindi se è MESS)
game_isbios_sn=0 --> se è un BIOS
isdevice_sn=0 --> se è un device
game_ismechanical_sn=0 --> se è mechanical
display_screens<>0 --> se è screenless
NOT EXISTS(
SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id
AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").") --> se il genere è tra quelli non mamecab


non capisco a cosa serva non resettare a tutti i giochi il flag mamecab se tanto poi lo vai a reimpostare con la prossima query

perchè non ti sei limitato ad un

Codice: Seleziona tutto

UPDATE adb_mame 
SET game_ismamecab_sn=0 
WHERE game_ismamecab_sn=1
?


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4285
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 18 volte

Re: Sito web Arcade Database

Messaggio da pucci »

la seconda query è più semplice.
cosa è gioco da MAMEcab?

ogni gioco che abbia tutte queste caratteristiche:
  • deve essere Arcade
  • non deve essere un BIOS
  • non deve essere un device
  • non deve essere mechanical
  • non deve essere screenless
  • il suo genere non deve essere nella lista dei generi non adatti ai mamecab (qui metto solo quelli attualmente usato da genre.ini)

Codice: Seleziona tutto

    30175,  // Board Game
    28188,  // Calculator
    161,    // Casino
    31769,  // Coin Pusher
    28190,  // Computer
    34078   // Computer Graphic Workstation
    901,    // Electromechanical
    28191,  // Game Console
    28192,  // Handheld
    30176,  // Medal Game
    30406,  // Medical Equipment
    30177,  // Music
    28193,  // Printer
    167,    // Quiz
    31770,  // Slot Machine
    833,    // System
    159,    // Tabletop
    30178,  // Telephone
    902,    // Utilities


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4285
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 18 volte

Re: Sito web Arcade Database

Messaggio da pucci »

forse ho capito la prima query, serve per caso ad evitare l'informazione "è adatto a mamecab" per le versioni più vecchie di MAME?
usando la mia query semplificata tutti i giochi non più presenti nell'ultimo MAME (ma presenti nelle versioni precedenti) risulterebbero non adatti ad un mamecab

è così?


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2967
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Inviati: 8 volte
Grazie Ricevuti: 15 volte
Contatta:

Re: Sito web Arcade Database

Messaggio da motoschifo »

Il caso di update manuale non è più gestito quindi le query modificano di fatto tutti i giochi sempre, anche quelli non più attuali. Un tempo non era così, ma per velocizzare le operazioni ho sdoppiato le query.
Sostanzialmente metto a 0 tutto ciò che non è per cab, poi mette a 1 tutto ciò che è per cab negando la stessa condizione.

Facendo indistintamente l'update otterrei la data di ultima modifica del record sempre valorizzata ad oggi, cosa che non è vera in quanto il record potrebbe non aver subito reali modifiche.
In principio non esisteva un campo su db ma un campo calcolato in funzione di altri, poi ho voluto metterlo per semplificare le ricerche.

Ma con queste indicazioni, hai ancora giochi errati nella selezione del Mame?
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4285
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 18 volte

Re: Sito web Arcade Database

Messaggio da pucci »

motoschifo ha scritto:
03/10/2020, 20:30
Il caso di update manuale non è più gestito quindi le query modificano di fatto tutti i giochi sempre, anche quelli non più attuali. Un tempo non era così, ma per velocizzare le operazioni ho sdoppiato le query.
Sostanzialmente metto a 0 tutto ciò che non è per cab, poi mette a 1 tutto ciò che è per cab negando la stessa condizione.

Facendo indistintamente l'update otterrei la data di ultima modifica del record sempre valorizzata ad oggi, cosa che non è vera in quanto il record potrebbe non aver subito reali modifiche.
In principio non esisteva un campo su db ma un campo calcolato in funzione di altri, poi ho voluto metterlo per semplificare le ricerche.

Ma con queste indicazioni, hai ancora giochi errati nella selezione del Mame?
quindi il fatto di non usare una query semplice come la mia è solo dovuto a questo? "Facendo indistintamente l'update otterrei la data di ultima modifica del record sempre valorizzata ad oggi, cosa che non è vera in quanto il record potrebbe non aver subito reali modifiche."

mi sfugge il problema dell'avere una data di ultima modifica "recente"

adesso provo con le tue indicazioni a vedere se c'è qualcosa di strano.

Sto testando ora


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2967
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Inviati: 8 volte
Grazie Ricevuti: 15 volte
Contatta:

Re: Sito web Arcade Database

Messaggio da motoschifo »

La data di ultimo aggiornamento indica quando il gioco ha subito modifiche. La trovi nelle schede di dettaglio e serve anche in alcuni casi per capire quali record sono stati aggiornati (e magari lanciare elaborazioni solo su quelli).
Aggiornare sempre tutto non è nelle mie intenzioni, anzi la maggior parte delle query non "sporca" i dati se deve metterli uguali a quelli che ci sono già.
Un esempio di questa tecnica è quando occorre capire se il gioco ha subito cambiamenti, ad esempio dopo l'importazione.

In ogni caso, se si tratta di una data di ultima modifica, ha senso averla valorizzata solo nel caso di effettivi cambi. Altrimenti non serve a nulla e tanto vale toglierla.
Ah giusto per curiosità, quella data viene aggiornata in automatico quindi non sono io che lo faccio, ed è anche una verifica per capire se "qualcuno" ha cambiato cose. Tutte le mie tabelle hanno quel campo.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4285
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 18 volte

Re: Sito web Arcade Database

Messaggio da pucci »

motoschifo ha scritto:
03/10/2020, 20:30
Ma con queste indicazioni, hai ancora giochi errati nella selezione del Mame?
ora sembrerebbe a posto

ti mando a breve alcuni suggerimenti di modifiche al filtro arcade cab


Rispondi

Torna a “Progetto Arcade Data Base”