Salve,
ho un sito basato su Drupal. Tutto i moduli installati sul sito sembrano funzionare egregiamente. Solamente il modulo di ricerca per i contenuti del sito sembra avere dei problemi. Se provo a fare una qualsiasi ricerca mi da questo errore:
* user warning: Access denied for user 'tizianofagni'@'localhost' to database 'my_tizianofagni' query: CREATE TEMPORARY TABLE temp_search_sids SELECT i.type, i.sid, SUM(i.score * t.count) AS relevance, COUNT(*) AS matches FROM search_index i INNER JOIN search_total t ON i.word = t.word INNER JOIN node n ON n.nid = i.sid INNER JOIN users u ON n.uid = u.uid WHERE n.status = 1 AND (i.word = 'linux') AND i.type = 'node' GROUP BY i.type, i.sid HAVING COUNT(*) >= 1 in /membri/tizianofagni/includes/database.mysql.inc on line 121.
* user warning: Table 'my_tizianofagni.temp_search_sids' doesn't exist query: SELECT MAX(relevance) FROM temp_search_sids in /membri/tizianofagni/includes/database.mysql.inc on line 121.
Mi sembra di capire che non ho i diritti SQL per il comando CREATE TEMPORARY TABLE. Mi pare di aver letto/capito in qualche altro thread che è disattivato per scelta da Altervista. Mi stavo percio' chiedendo se Altervista potesse considerare l'ipotesi di abilitarlo su richiesta (non di default, quindi) per tutti gli utenti che ne hanno realmente bisogno (ad esempio per chi usa un sito basato su Drupal). Come si dice...chiedere è lecito, rispondere è cortesia. :-)
Grazie in anticipo.
FunCool: Sposto nella sezione dedicata alle proposte di servizi.
Ultima modifica di funcool : 21-02-2007 alle ore 14.52.17
Ad ogni modo dalle discussioni mi sembra di capire che nessuno sia riuscito ad usare questa caratteristica (CREATE TEMPORARY TABLE) quindi ho dedotto che fosse un privilegio non abilitato per i normali utenti di Altervista. E' possibile abilitarlo su richiesta?
La soluzione di cui sopra al problema in Drupal non è perfetta, perché se due utenti fanno una ricerca contemporaneamente, i risultati non sarebbero corretti: si avrebbe una "race condition" e un utente potrebbe leggere anche i risultati dell'altra ricerca, e l'altro potrebbe non ottenere risultati. Bisognerebbe trovare un work-around per la soluzione (ad esempio assegnare ad ogni ricerca un codice univoco ed aggiungere una colonna con il codice; poi mostrare ed eliminare solo i risultati con quel codice; oppure creando ogni volta una tabella con un nome diverso e univoco)
Inoltre una tabella creata in questo modo andrebbe ad occupare lo spazio disponibile, e se da un lato questo pone un limite all'uso delle risorse, dall'altro potrebbe portare ad occupare tutto lo spazio, e probabilmente questo potrebbe bloccare il sito, e l'utente dovrà eliminare a mano la tabella.
Invece con le tabelle temporanee la soluzione sarebbe pulita, perché alla fine della sessione la tabella verrebbe cancellata, e una sessione non vedrebbe le tabelle temporanee delle altre.
Ovviamente i tecnici dovranno valutare vantaggi e svantaggi, ma sicuramente uno dei vantaggi sarebbe la maggiore compatibilità con CMS e altri prodotti pronti.
Ultima modifica di stasera : 05-01-2008 alle ore 15.46.54