No it's not work the same way
In my particular example when I create a field in postgreSql with type of Point.
when I want to search it using the regular CRUD search tool I always get such error :
Error 500: <h1>CDbException</h1>
<p>CDbCommand failed to execute the SQL statement: SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: point ~~ unknown
LINE 1: SELECT COUNT(*) FROM "advertise" "t" WHERE lat_lon LIKE $1
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.. The SQL statement executed was: SELECT COUNT(*) FROM "advertise" "t" WHERE lat_lon LIKE :ycp0 (/var/www/yii/framework/db/CDbCommand.php:528)</p><pre>#0 /var/www/yii/framework/db/CDbCommand.php(425): CDbCommand->queryInternal('fetchColumn', 0, Array)
#1 /var/www/yii/framework/db/ar/CActiveRecord.php(1540): CDbCommand->queryScalar()
#2 /var/www/yii/framework/web/CActiveDataProvider.php(179): CActiveRecord->count(Object(CDbCriteria))
#3 /var/www/yii/framework/web/CDataProvider.php(193): CActiveDataProvider->calculateTotalItemCount()
#4 /var/www/yii/framework/web/CActiveDataProvider.php(129): CDataProvider->getTotalItemCount()
#5 /var/www/yii/framework/web/CDataProvider.php(137): CActiveDataProvider->fetchData()
#6 /var/www/yii/framework/zii/widgets/CBaseListView.php(108): CDataProvider->getData()
#7 /var/www/yii/framework/zii/widgets/grid/CGridView.php(289): CBaseListView->init()
#8 /var/www/yii/framework/web/CBaseController.php(148): CGridView->init()
#9 /var/www/yii/framework/web/CBaseController.php(173): CBaseController->createWidget('zii.widgets.gri...', Array)
#10 /var/www/blog/protected/views/advertise/admin.php(58): CBaseController->widget('zii.widgets.gri...', Array)
#11 /var/www/yii/framework/web/CBaseController.php(127): require('/var/www/blog/p...')
#12 /var/www/yii/framework/web/CBaseController.php(96): CBaseController->renderInternal('/var/www/blog/p...', Array, true)
#13 /var/www/yii/framework/web/CController.php(870): CBaseController->renderFile('/var/www/blog/p...', Array, true)
#14 /var/www/yii/framework/web/CController.php(783): CController->renderPartial('admin', Array, true)
#15 /var/www/blog/protected/controllers/AdvertiseController.php(143): CController->render('admin', Array)
#16 /var/www/yii/framework/web/actions/CInlineAction.php(50): AdvertiseController->actionAdmin()
#17 /var/www/yii/framework/web/CController.php(309): CInlineAction->runWithParams(Array)
#18 /var/www/yii/framework/web/filters/CFilterChain.php(134): CController->runAction(Object(CInlineAction))
#19 /var/www/yii/framework/web/filters/CFilter.php(41): CFilterChain->run()
#20 /var/www/yii/framework/web/CController.php(1146): CFilter->filter(Object(CFilterChain))
#21 /var/www/yii/framework/web/filters/CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
#22 /var/www/yii/framework/web/filters/CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
#23 /var/www/yii/framework/web/CController.php(292): CFilterChain->run()
#24 /var/www/yii/framework/web/CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
...
I think the yii's ORM needs to take care of this kind of special datatypes as well if I want to write sql statement for these special cases then what is the usage of framework?