2015-04-18 5 views
5

Ho appena trasferito il mio database su Cloud SQL di Google, ma come indicato nello FAQ on Google Cloud SQL, le funzioni definite dall'utente non sono supportate. Sto usando una funzione chiamata Levenshtein, presa da questo stackoverflow article, per eseguire una ricerca su un dizionario che ho creato nel mio database. È una funzione che può trovare parole che sembrano simili (compresi gli errori ortografici) e restituisce la distanza da una determinata parola.Alternativa alle funzioni definite dall'utente in Google Cloud SQL

Google offre qualche alternativa alle funzioni definite dall'utente che mi consentirebbe di utilizzare questa funzionalità per eseguire la ricerca?

+1

No, non è così. Comunque puoi usare gce e lì puoi usare qualsiasi database tu voglia. –

+0

Sì, CloudSQL è essenzialmente MySQL in sandbox, quindi è sufficiente eseguire MySQL (o un altro DB) su un'istanza di Compute Engine. – Adam

+0

è una zoppa che Google non supporta, una delle ragioni per cui potrei considerare un'infrastruttura basata su cloud sarebbe la possibilità di migrare il mio db a CloudSQL per sfruttare potenza, prestazioni e scalabilità, quindi baso la mia app su UDF e memorizzato procedure. – neavilag

risposta

7

si sono confusi sulla terminologia:

  • User Defined Function = una funzione definita in codice reale, compilato in una DLL/SO, e ha creato in MySQL con CREATE FUNCTION ... SONAME. Questo non è possibile in Cloud SQL.

  • stored procedure = una funzione definita in istruzioni SQL, e ha creato in MySQL con CREATE FUNCTION routine_body o CREATE PROCEDURE. Questo è permesso in Cloud SQL.

Ho appena testato questo fuori copiando e incollando il definition from that SO post nel mio esempio Cloud SQL e ha funzionato perfettamente.

+0

concordato. Intendevo la stored procedure. Ho testato il codice dall'articolo SO e ha fornito alcuni errori SQL, ma ha comunque creato la funzione. Grazie per l'aiuto! –