Capacitor માં Custom SQLite Extensions નો ઉપયોગ કેવી રીતે કરવો
Standard SQLite મોટાભાગના કાર્યો માટે કામ કરે છે. ક્યારેક તમારે તેનાથી વધુની જરૂર પડે છે.
ચોક્કસ ભાષાઓ માટે તમારે કસ્ટમ tokenizer ની જરૂર પડી શકે છે. તમારે કસ્ટમ math functions અથવા ખાસ text processing ની જરૂર પડી શકે છે. આને loadable extensions કહેવામાં આવે છે.
Capacitor SQLite plugin Android અને iOS પર આને સપોર્ટ કરે છે.
Extensions નો ઉપયોગ શા માટે કરવો?
- Custom FTS5 tokenizers: સર્ચ માટે ટેક્સ્ટ કેવી રીતે વિભાજિત થાય છે તેના પર નિયંત્રણ મેળવો.
- Custom SQL functions: તમારા ડેટાની નજીક જ જટિલ લોજિક ચલાવો.
તેનો અમલીકરણ પ્લેટફોર્મ મુજબ અલગ પડે છે.
Android
Android system SQLite સીધી રીતે extensions લોડ કરવાનું સપોર્ટ કરતું નથી. તમારે requery backend નો ઉપયોગ કરવો પડશે.
- તમારી variables.gradle ફાઇલમાં requery વિકલ્પ સક્ષમ કરો.
- તમારી build.gradle ફાઇલમાં JitPack repository ઉમેરો.
- દરેક CPU architecture માટે તમારા C કોડને native libraries (.so files) માં કમ્પાઇલ કરો.
- આ ફાઇલોને jniLibs ફોલ્ડરમાં મૂકો.
- જ્યારે તમે ડેટાબેઝ ખોલો ત્યારે androidExtensions વિકલ્પનો ઉપયોગ કરો.
iOS
iOS એપ્સ runtime પર dynamic libraries લોડ કરી શકતી નથી. તમારે તમારી extension ને statically લિંક કરવી પડશે.
- તમારી C source file તમારા Xcode project માં ઉમેરો.
- તે ફાઇલ માટે -DSQLITE_CORE compiler flag સેટ કરો.
- તમારા bridging header માં init function ડિક્લેર કરો.
- sqlite3_auto_extension નો ઉપયોગ કરીને તમારા AppDelegate માં extension રજિસ્ટર કરો.
તમારી extension માટેનો C કોડ સમાન રહે છે. ફક્ત build અને registration ના સ્ટેપ્સ બદલાય છે.
એકવાર લોડ થઈ ગયા પછી, તમારી custom extension બિલ્ટ-ઇન SQLite ફીચરની જેમ જ કામ કરે છે. તમે તમારા SQL statements માં તરત જ તમારા નવા tokenizer અથવા function નો ઉપયોગ કરી શકો છો.
Custom extensions તમને તમારા મોબાઈલ ડેટાબેઝની અંદર native code ની શક્તિ આપે છે.
Source: https://dev.to/capawesome/how-to-use-custom-sqlite-extensions-in-capacitor-l5k