RedBeardLab / rediSQL

Redis module that provides a completely functional SQL database
https://redisql.com
Other
1.55k stars 150 forks source link

extension load #104

Open lefedor opened 4 years ago

lefedor commented 4 years ago

Hello, is it possible loading extensions into REDISQL?

like: db.enable_load_extension(True) db.load_extension('./spellfix')

I'm trying $ret = $redis->rawCommand('REDISQL.EXEC', $DbName, "SELECT load_extension('./spellfix');"); and getting Fatal error: Uncaught exception 'RedisException' with message 'not authorized' in /opt/www/htdocs/www/wDb.php:794 Stack trace: #0 /opt/www/htdocs/www/wDb.php(794): Redis->rawcommand('REDISQL.EXEC', 'Db_1_2', 'SELECT load_ext...') #1 {main} thrown in /opt/www/htdocs/www/wDb.php on line 794

siscia commented 4 years ago

Hummmm, I thought about this, but I never get to implement it.

The not authorized does not seems a redis / redisql exception, so maybe the problem is not strictly related to redisql.

Can you try to use the redis-cli and do the same?

lefedor commented 4 years ago

cli dialogue:

127.0.0.1:6379> REDISQL.CREATE_DB wtesta OK 127.0.0.1:6379> REDISQL.EXEC 'wtesta' "SELECT load_extension('./spellfix');" (error) not authorized 127.0.0.1:6379> REDISQL.EXEC wtesta "SELECT load_extension('./spellfix');" (error) not authorized 127.0.0.1:6379> REDISQL.EXEC wtesta "SELECT load_extension('./spellfix.so');" (error) not authorized

127.0.0.1:6379> REDISQL.EXEC wtesta "SELECT enable_load_extension(1);" (error) no such function: enable_load_extension 127.0.0.1:6379> REDISQL.EXEC wtesta "SELECT enable_load_extension(true);" (error) no such function: enable_load_extension

siscia commented 4 years ago

Sorry, I thought I added a comment.

The problem is that we the loading of extensions need to be enable with: https://www.sqlite.org/c3ref/enable_load_extension.html

Can you fix the code yourself? If so a PR would be very great!

lefedor commented 4 years ago

Yes, I've used enable_load_extension but it's unavailable over current api. I'm not sure i'll do hotfix properly on this.

siscia commented 4 years ago

Unfortunately I am in vacations the coming week.

If you can open a PR I will review and merge it next weekm